Support for Path of Exile 3.5 and Betrayal league. (#108)
* Fix #107 by pulling SortOrder form an enum. * Add initial support for the Prophecy block item. * Update the static data. * Hook Prophecy data into the static data service. * Fill out the initial prophecy data.
This commit is contained in:
		
							parent
							
								
									4b6cee9d94
								
							
						
					
					
						commit
						7ce5aaa861
					
				| @ -41,7 +41,7 @@ namespace Filtration.ObjectModel.BlockItemBaseTypes | ||||
| 
 | ||||
|         public override Color SummaryTextColor => Action == BlockAction.Show ? Colors.Black : Colors.White; | ||||
| 
 | ||||
|         public override int SortOrder => 0; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Action; | ||||
| 
 | ||||
|         public void ToggleAction() | ||||
|         { | ||||
|  | ||||
| @ -2,6 +2,7 @@ | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.Annotations; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemBaseTypes | ||||
| { | ||||
| @ -16,7 +17,7 @@ namespace Filtration.ObjectModel.BlockItemBaseTypes | ||||
|         public abstract string SummaryText { get; } | ||||
|         public abstract Color SummaryBackgroundColor { get; } | ||||
|         public abstract Color SummaryTextColor { get; } | ||||
|         public abstract int SortOrder { get; } | ||||
|         public abstract BlockItemOrdering SortOrder { get; } | ||||
|         public string Comment { get; set; } | ||||
| 
 | ||||
|         public bool IsDirty | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| @ -17,6 +18,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 => 23; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.SetBackgroundColor; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| using System.Linq; | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -33,6 +34,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
| 
 | ||||
|         public override Color SummaryBackgroundColor => Colors.MediumTurquoise; | ||||
|         public override Color SummaryTextColor => Colors.Black; | ||||
|         public override int SortOrder => 20; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.BaseType; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,6 +18,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 => 24; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.SetBorderColor; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| using System.Linq; | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -33,6 +34,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
| 
 | ||||
|         public override Color SummaryBackgroundColor => Colors.MediumSeaGreen; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 19; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Class; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Corrupted"; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkRed; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 5; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Corrupted; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -16,6 +17,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string PrefixText => "CustomAlertSound"; | ||||
|         public override int MaximumAllowed => 1; | ||||
|         public override string DisplayHeading => "Custom Alert Sound"; | ||||
|         public override int SortOrder => 31; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.CustomAlertSound; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Disable Drop Sound"; | ||||
|         public override Color SummaryBackgroundColor => Colors.Transparent; | ||||
|         public override Color SummaryTextColor => Colors.Transparent; | ||||
|         public override int SortOrder => 28; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.DisableDropSound; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -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 => 15; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.DropLevel; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 100; | ||||
|     } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Elder Item"; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkGray; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 6; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.ElderItem; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Elder Map"; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkGoldenrod; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 10; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.ElderMap; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -16,7 +17,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 => 25; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.SetFontSize; | ||||
|         public override int Minimum => 11; | ||||
|         public override int Maximum => 45; | ||||
|     } | ||||
|  | ||||
| @ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string SummaryText => "Gem Level " + FilterPredicate; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkSlateGray; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 16; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.GemLevel; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 21; | ||||
|     } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| using System.Linq; | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -33,6 +34,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
| 
 | ||||
|         public override Color SummaryBackgroundColor => Colors.MidnightBlue; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 21; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.HasExplicitMod; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -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 => 12; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Height; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 6; | ||||
|     } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Identified"; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkSlateGray; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 4; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Identified; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -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 => 14; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.ItemLevel; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 100; | ||||
|     } | ||||
|  | ||||
| @ -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 => 1; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.LinkedSockets; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 6; | ||||
|     } | ||||
|  | ||||
| @ -19,6 +19,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string PrefixText => "MinimapIcon"; | ||||
|         public override int MaximumAllowed => 1; | ||||
|         public override string DisplayHeading => "Minimap Icon"; | ||||
|         public override int SortOrder => 29; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.MinimapIcon; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string SummaryText => "Map Tier " + FilterPredicate; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkSlateGray; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 8; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.MapTier; | ||||
|         public override int Minimum => 1; | ||||
|         public override int Maximum => 16; | ||||
|     } | ||||
|  | ||||
| @ -18,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string PrefixText => "PlayEffect"; | ||||
|         public override int MaximumAllowed => 1; | ||||
|         public override string DisplayHeading => "Play Effect"; | ||||
|         public override int SortOrder => 30; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.PlayEffect; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string PrefixText => "PlayAlertSoundPositional"; | ||||
|         public override int MaximumAllowed => 1; | ||||
|         public override string DisplayHeading => "Play Positional Alert Sound"; | ||||
|         public override int SortOrder => 27; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.PlayAlertSoundPositional; | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										39
									
								
								Filtration.ObjectModel/BlockItemTypes/ProphecyBlockItem.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Filtration.ObjectModel/BlockItemTypes/ProphecyBlockItem.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| using System.Linq; | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
|     public class ProphecyBlockItem : StringListBlockItem | ||||
|     { | ||||
|         public override string PrefixText => "Prophecy"; | ||||
|         public override int MaximumAllowed => 1; | ||||
|         public override string DisplayHeading => "Prophecy"; | ||||
| 
 | ||||
|         public override string SummaryText | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if (Items.Count > 0 && Items.Count < 4) | ||||
|                 { | ||||
|                     return "Prophecies: " + | ||||
|                            Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(','); | ||||
|                 } | ||||
|                 if (Items.Count >= 4) | ||||
|                 { | ||||
|                     var remaining = Items.Count - 3; | ||||
|                     return "Prophecies: " + Items.Take(3) | ||||
|                         .Aggregate(string.Empty, (current, i) => current + i + ", ") | ||||
|                         .TrimEnd(' ') | ||||
|                         .TrimEnd(',') + " (+" + remaining + " more)"; | ||||
|                 } | ||||
|                 return "Prophecies: (none)"; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkMagenta; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Prophecy; | ||||
|     } | ||||
| } | ||||
| @ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string SummaryText => "Quality " + FilterPredicate; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkOrange; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 3; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Quality; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 30; | ||||
|     } | ||||
|  | ||||
| @ -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 => 18; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Rarity; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => (int)ItemRarity.Unique; | ||||
|     } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Shaped Map"; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkGoldenrod; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 9; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.ShapedMap; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string DisplayHeading => "Shaper Item"; | ||||
|         public override Color SummaryBackgroundColor => Colors.DimGray; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 7; | ||||
| 
 | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.ShaperItem; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -39,7 +39,7 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
| 
 | ||||
|         public override Color SummaryBackgroundColor => Colors.GhostWhite; | ||||
|         public override Color SummaryTextColor => Colors.Black; | ||||
|         public override int SortOrder => 11; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.SocketGroup; | ||||
| 
 | ||||
|         private SocketColor StringToSocketColor(char socketColorString) | ||||
|         { | ||||
|  | ||||
| @ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string SummaryText => "Sockets " + FilterPredicate; | ||||
|         public override Color SummaryBackgroundColor => Colors.LightGray; | ||||
|         public override Color SummaryTextColor => Colors.Black; | ||||
|         public override int SortOrder => 2; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Sockets; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 6; | ||||
|     } | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| using Filtration.ObjectModel.BlockItemBaseTypes; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.BlockItemTypes | ||||
| { | ||||
| @ -17,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string PrefixText => "PlayAlertSound"; | ||||
|         public override int MaximumAllowed => 1; | ||||
|         public override string DisplayHeading => "Play Alert Sound"; | ||||
|         public override int SortOrder => 26; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.PlayAlertSound; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes | ||||
|         public override string SummaryText => "Stack Size " + FilterPredicate; | ||||
|         public override Color SummaryBackgroundColor => Colors.DarkSlateGray; | ||||
|         public override Color SummaryTextColor => Colors.White; | ||||
|         public override int SortOrder => 17; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.StackSize; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 1000; | ||||
|     } | ||||
|  | ||||
| @ -18,6 +18,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 => 22; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.SetTextColor; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -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 => 13; | ||||
|         public override BlockItemOrdering SortOrder => BlockItemOrdering.Width; | ||||
|         public override int Minimum => 0; | ||||
|         public override int Maximum => 2; | ||||
|     } | ||||
|  | ||||
							
								
								
									
										41
									
								
								Filtration.ObjectModel/Enums/BlockItemOrdering.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								Filtration.ObjectModel/Enums/BlockItemOrdering.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| using System.ComponentModel; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel.Enums | ||||
| { | ||||
|     public enum BlockItemOrdering | ||||
|     { | ||||
|         Action, | ||||
|         LinkedSockets, | ||||
|         Sockets, | ||||
|         Quality, | ||||
|         Identified, | ||||
|         Corrupted, | ||||
|         ElderItem, | ||||
|         ShaperItem, | ||||
|         MapTier, | ||||
|         ShapedMap, | ||||
|         ElderMap, | ||||
|         SocketGroup, | ||||
|         Height, | ||||
|         Width, | ||||
|         ItemLevel, | ||||
|         DropLevel, | ||||
|         GemLevel, | ||||
|         StackSize, | ||||
|         Rarity, | ||||
|         Class, | ||||
|         BaseType, | ||||
|         Prophecy, | ||||
|         HasExplicitMod, | ||||
|         SetTextColor, | ||||
|         SetBackgroundColor, | ||||
|         SetBorderColor, | ||||
|         SetFontSize, | ||||
|         PlayAlertSound, | ||||
|         PlayAlertSoundPositional, | ||||
|         DisableDropSound, | ||||
|         MinimapIcon, | ||||
|         PlayEffect, | ||||
|         CustomAlertSound | ||||
|     } | ||||
| } | ||||
| @ -8,6 +8,7 @@ | ||||
|         Rarity, | ||||
|         Class, | ||||
|         BaseType, | ||||
|         Prophecy, | ||||
|         Sockets, | ||||
|         LinkedSockets, | ||||
|         SocketGroup, | ||||
|  | ||||
| @ -92,6 +92,7 @@ | ||||
|     <Compile Include="BlockItemTypes\GemLevelBlockItem.cs" /> | ||||
|     <Compile Include="BlockItemTypes\HasExplicitModBlockItem.cs" /> | ||||
|     <Compile Include="BlockItemTypes\MapIconBlockItem.cs" /> | ||||
|     <Compile Include="BlockItemTypes\ProphecyBlockItem.cs" /> | ||||
|     <Compile Include="BlockItemTypes\ShapedMapBlockItem.cs" /> | ||||
|     <Compile Include="BlockItemTypes\ShaperItemBlockItem.cs" /> | ||||
|     <Compile Include="BlockItemTypes\ElderItemBlockItem.cs" /> | ||||
| @ -123,6 +124,7 @@ | ||||
|     <Compile Include="Commands\ItemFilterScript\AddBlockCommand.cs" /> | ||||
|     <Compile Include="Commands\IUndoableCommand.cs" /> | ||||
|     <Compile Include="Enums\BlockAction.cs" /> | ||||
|     <Compile Include="Enums\BlockItemOrdering.cs" /> | ||||
|     <Compile Include="Enums\BlockItemType.cs" /> | ||||
|     <Compile Include="Enums\EffectColor.cs" /> | ||||
|     <Compile Include="Enums\FilterPredicateOperator.cs" /> | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| using System.ComponentModel; | ||||
| using System.Windows.Media; | ||||
| using Filtration.ObjectModel.Enums; | ||||
| 
 | ||||
| namespace Filtration.ObjectModel | ||||
| { | ||||
| @ -12,7 +13,7 @@ namespace Filtration.ObjectModel | ||||
|         Color SummaryBackgroundColor { get; } | ||||
|         Color SummaryTextColor { get; } | ||||
|         int MaximumAllowed { get; } | ||||
|         int SortOrder { get; } | ||||
|         BlockItemOrdering SortOrder { get; } | ||||
|         bool IsDirty { get; } | ||||
|         string Comment { get; set; } | ||||
|     } | ||||
|  | ||||
| @ -567,6 +567,25 @@ namespace Filtration.Parser.Tests.Services | ||||
|             Assert.Contains("Test BaseType 2", blockItem.Items); | ||||
|         } | ||||
| 
 | ||||
|         [Test] | ||||
|         public void TranslateStringToItemFilterBlock_Prophecy_ReturnsCorrectObject() | ||||
|         { | ||||
|             // Arrange | ||||
|             var inputString = "Show" + Environment.NewLine + | ||||
|                               @"    Prophecy ""Test Prophecy 1"" ""TestOneWordProphecyInQuotes"" TestOneWordProphecyNotInQuotes ""Test Prophecy 2"""; | ||||
| 
 | ||||
|             // Act | ||||
|             var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); | ||||
| 
 | ||||
|             // Assert | ||||
|             Assert.AreEqual(1, result.BlockItems.Count(b => b is ProphecyBlockItem)); | ||||
|             var blockItem = result.BlockItems.OfType<ProphecyBlockItem>().First(); | ||||
|             Assert.Contains("Test Prophecy 1", blockItem.Items); | ||||
|             Assert.Contains("TestOneWordProphecyInQuotes", blockItem.Items); | ||||
|             Assert.Contains("TestOneWordProphecyNotInQuotes", blockItem.Items); | ||||
|             Assert.Contains("Test Prophecy 2", blockItem.Items); | ||||
|         } | ||||
| 
 | ||||
|         [Test] | ||||
|         public void TranslateStringToItemFilterBlock_HasExplicitMod_ReturnsCorrectObject() | ||||
|         { | ||||
| @ -934,6 +953,7 @@ namespace Filtration.Parser.Tests.Services | ||||
|                               "    ElderMap False" + Environment.NewLine + | ||||
|                               @"    Class ""My Item Class"" AnotherClass ""AndAnotherClass""" + Environment.NewLine + | ||||
|                               @"    BaseType MyBaseType ""Another BaseType""" + Environment.NewLine + | ||||
|                               @"    Prophecy MyProphecy ""Another Prophecy""" + Environment.NewLine + | ||||
|                               @"    HasExplicitMod MyMod ""Another Mod""" + Environment.NewLine + | ||||
|                               "    JunkLine Let's ignore this one!" + Environment.NewLine + | ||||
|                               "    #Quality Commented out quality line" + Environment.NewLine + | ||||
| @ -1008,6 +1028,11 @@ namespace Filtration.Parser.Tests.Services | ||||
|             Assert.Contains("MyBaseType", baseTypeblockItem.Items); | ||||
|             Assert.Contains("Another BaseType", baseTypeblockItem.Items); | ||||
| 
 | ||||
|             var prophecyblockItem = result.BlockItems.OfType<ProphecyBlockItem>().First(); | ||||
|             Assert.AreEqual(2, prophecyblockItem.Items.Count); | ||||
|             Assert.Contains("MyProphecy", prophecyblockItem.Items); | ||||
|             Assert.Contains("Another Prophecy", prophecyblockItem.Items); | ||||
| 
 | ||||
|             var hasExplicitModBlockItem = result.BlockItems.OfType<HasExplicitModBlockItem>().First(); | ||||
|             Assert.AreEqual(2, hasExplicitModBlockItem.Items.Count); | ||||
|             Assert.Contains("MyMod", hasExplicitModBlockItem.Items); | ||||
| @ -1707,6 +1732,26 @@ namespace Filtration.Parser.Tests.Services | ||||
|             Assert.AreEqual(expectedResult, result); | ||||
|         } | ||||
| 
 | ||||
|         [Test] | ||||
|         public void TranslateItemFilterBlockToString_Prophecies_ReturnsCorrectString() | ||||
|         { | ||||
|             // Arrange | ||||
|             var expectedResult = "Show" + Environment.NewLine + | ||||
|                                  "    Prophecy \"Test Prophecy\" \"Another Prophecy\" \"Yet Another Prophecy\""; | ||||
| 
 | ||||
|             var prophecyBlockItem = new ProphecyBlockItem(); | ||||
|             prophecyBlockItem.Items.Add("Test Prophecy"); | ||||
|             prophecyBlockItem.Items.Add("Another Prophecy"); | ||||
|             prophecyBlockItem.Items.Add("Yet Another Prophecy"); | ||||
|             _testUtility.TestBlock.BlockItems.Add(prophecyBlockItem); | ||||
| 
 | ||||
|             // Act | ||||
|             var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock); | ||||
| 
 | ||||
|             // Assert | ||||
|             Assert.AreEqual(expectedResult, result); | ||||
|         } | ||||
| 
 | ||||
|         [Test] | ||||
|         public void TranslateItemFilterBlockToString_HasExplicitMod_ReturnsCorrectString() | ||||
|         { | ||||
| @ -2013,6 +2058,7 @@ namespace Filtration.Parser.Tests.Services | ||||
|                                  "    Rarity = Unique" + Environment.NewLine + | ||||
|                                  "    Class \"Body Armour\" \"Gloves\" \"Belt\" \"Two Hand Axes\"" + Environment.NewLine + | ||||
|                                  "    BaseType \"Greater Life Flask\" \"Simple Robe\" \"Full Wyrmscale\"" + Environment.NewLine + | ||||
|                                  "    Prophecy \"The Cursed Choir\" \"A Valuable Combination\" \"The Beautiful Guide\"" + Environment.NewLine + | ||||
|                                  "    HasExplicitMod \"Guatelitzi's\" \"of Tacati\" \"Tyrannical\"" + Environment.NewLine + | ||||
|                                  "    SetTextColor 255 89 0 56" + Environment.NewLine + | ||||
|                                  "    SetBackgroundColor 0 0 0" + Environment.NewLine + | ||||
| @ -2046,6 +2092,11 @@ namespace Filtration.Parser.Tests.Services | ||||
|             baseTypeItemblockItem.Items.Add("Simple Robe"); | ||||
|             baseTypeItemblockItem.Items.Add("Full Wyrmscale"); | ||||
|             _testUtility.TestBlock.BlockItems.Add(baseTypeItemblockItem); | ||||
|             var prophecyItemblockItem = new ProphecyBlockItem(); | ||||
|             prophecyItemblockItem.Items.Add("The Cursed Choir"); | ||||
|             prophecyItemblockItem.Items.Add("A Valuable Combination"); | ||||
|             prophecyItemblockItem.Items.Add("The Beautiful Guide"); | ||||
|             _testUtility.TestBlock.BlockItems.Add(prophecyItemblockItem); | ||||
|             var hasExplicitModBlockItem = new HasExplicitModBlockItem(); | ||||
|             hasExplicitModBlockItem.Items.Add("Guatelitzi's"); | ||||
|             hasExplicitModBlockItem.Items.Add("of Tacati"); | ||||
|  | ||||
| @ -159,6 +159,11 @@ namespace Filtration.Parser.Services | ||||
|                         AddStringListItemToBlockItems<BaseTypeBlockItem>(block, trimmedLine); | ||||
|                         break; | ||||
|                     } | ||||
|                     case "Prophecy": | ||||
|                     { | ||||
|                         AddStringListItemToBlockItems<ProphecyBlockItem>(block, trimmedLine); | ||||
|                         break; | ||||
|                     } | ||||
|                     case "Corrupted": | ||||
|                     { | ||||
|                         AddBooleanItemToBlockItems<CorruptedBlockItem>(block, trimmedLine); | ||||
|  | ||||
| @ -462,6 +462,7 @@ | ||||
|       <DependentUpon>Settings.settings</DependentUpon> | ||||
|       <DesignTimeSharedInput>True</DesignTimeSharedInput> | ||||
|     </Compile> | ||||
|     <EmbeddedResource Include="Resources\Prophecies.txt" /> | ||||
|     <EmbeddedResource Include="Resources\ItemMods.txt" /> | ||||
|     <Resource Include="Resources\loading_spinner.gif" /> | ||||
|     <EmbeddedResource Include="Properties\Resources.resx"> | ||||
|  | ||||
							
								
								
									
										35
									
								
								Filtration/Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										35
									
								
								Filtration/Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
								
							| @ -225,19 +225,21 @@ namespace Filtration.Properties { | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to A Mother's Parting Gift | ||||
|         ///   Looks up a localized string similar to A Dab of Ink | ||||
|         ///A Mother's Parting Gift | ||||
|         ///Abandoned Wealth | ||||
|         ///Aberrant Fossil | ||||
|         ///Abyssal Axe | ||||
|         ///Abyssal Cry | ||||
|         ///Abyssal Sceptre | ||||
|         ///Academy Map | ||||
|         ///Acid Lakes Map | ||||
|         ///Acid Caverns Map | ||||
|         ///Added Chaos Damage Support | ||||
|         ///Added Cold Damage Support | ||||
|         ///Added Fire Damage Support | ||||
|         ///Added Lightning Damage Support | ||||
|         ///Additional Accuracy Support | ||||
|         ///Advanced Traps Support | ||||
|         ///Aetheric Fossil | ||||
|         ///Agate Amulet | ||||
|         ///Albino Rhoa Feather | ||||
| @ -251,10 +253,7 @@ namespace Filtration.Properties { | ||||
|         ///Amber Amulet | ||||
|         ///Ambush Boots | ||||
|         ///Ambush Leaguestone | ||||
|         ///Ambush Mitts | ||||
|         ///Ambusher | ||||
|         ///Amethyst Flask | ||||
|         ///Amethyst [rest of string was truncated]";. | ||||
|         ///Ambush  [rest of string was truncated]";. | ||||
|         /// </summary> | ||||
|         internal static string ItemBaseTypes { | ||||
|             get { | ||||
| @ -266,7 +265,7 @@ namespace Filtration.Properties { | ||||
|         ///   Looks up a localized string similar to Abyss Jewel | ||||
|         ///Active Skill Gems | ||||
|         ///Amulets | ||||
|         ///Axe | ||||
|         ///Axes | ||||
|         ///Belts | ||||
|         ///Body Armours | ||||
|         ///Boots | ||||
| @ -288,12 +287,13 @@ namespace Filtration.Properties { | ||||
|         ///Labyrinth Map Item | ||||
|         ///Labyrinth Trinket | ||||
|         ///Large Relics | ||||
|         ///Leaguestone | ||||
|         ///Leaguestones | ||||
|         ///Life Flasks | ||||
|         ///Mace | ||||
|         ///Maces | ||||
|         ///Mana Flasks | ||||
|         ///Map Fragments | ||||
|         ///Maps | ||||
|         ///Medium Relics | ||||
|         ///Misc Map Items | ||||
|         ///One Hand Axes | ||||
|         ///One Hand Maces | ||||
| @ -302,14 +302,12 @@ namespace Filtration.Properties { | ||||
|         ///Piece | ||||
|         ///Quest Items | ||||
|         ///Quivers | ||||
|         ///Relics | ||||
|         ///Rings | ||||
|         ///Sceptres | ||||
|         ///Shields | ||||
|         ///Stackable Currency | ||||
|         ///Staves | ||||
|         ///Support Skill Gems | ||||
|         ///Sword | ||||
|         ///T [rest of string was truncated]";. | ||||
|         ///Small Relics | ||||
|         ///Stackable Curre [rest of string was truncated]";. | ||||
|         /// </summary> | ||||
|         internal static string ItemClasses { | ||||
|             get { | ||||
| @ -382,6 +380,15 @@ namespace Filtration.Properties { | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized string similar to A Gracious Master. | ||||
|         /// </summary> | ||||
|         internal static string Prophecies { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("Prophecies", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. | ||||
|         /// </summary> | ||||
|  | ||||
| @ -211,4 +211,7 @@ | ||||
|   <data name="ItemMods" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\ItemMods.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> | ||||
|   </data> | ||||
|   <data name="Prophecies" type="System.Resources.ResXFileRef, System.Windows.Forms"> | ||||
|     <value>..\Resources\Prophecies.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> | ||||
|   </data> | ||||
| </root> | ||||
| @ -1,11 +1,12 @@ | ||||
| A Mother's Parting Gift | ||||
| A Dab of Ink | ||||
| A Mother's Parting Gift | ||||
| Abandoned Wealth | ||||
| Aberrant Fossil | ||||
| Abyssal Axe | ||||
| Abyssal Cry | ||||
| Abyssal Sceptre | ||||
| Academy Map | ||||
| Acid Lakes Map | ||||
| Acid Caverns Map | ||||
| Added Chaos Damage Support | ||||
| Added Cold Damage Support | ||||
| Added Fire Damage Support | ||||
| @ -71,6 +72,7 @@ Arctic Breath | ||||
| Arena Map | ||||
| Arena Plate | ||||
| Arid Lake Map | ||||
| Armageddon Brand | ||||
| Arming Axe | ||||
| Armourer's Scrap | ||||
| Armoury Map | ||||
| @ -168,6 +170,7 @@ Bone Crypt Map | ||||
| Bone Helmet | ||||
| Bone Offering | ||||
| Bone Spirit Shield | ||||
| Bonechill Support | ||||
| Bonespire Talisman | ||||
| Boon of the First Ones | ||||
| Boot Blade | ||||
| @ -176,6 +179,7 @@ Bottled Storm | ||||
| Bound Fossil | ||||
| Boundless Realms | ||||
| Bowyer's Dream | ||||
| Brand Recall | ||||
| Branded Kite Shield | ||||
| Brass Maul | ||||
| Brass Spirit Shield | ||||
| @ -352,6 +356,7 @@ Courthouse Map | ||||
| Courtyard Map | ||||
| Coves Map | ||||
| Coveted Possession | ||||
| Crater Map | ||||
| Cremation | ||||
| Crescent Staff | ||||
| Crested Tower Shield | ||||
| @ -461,6 +466,7 @@ Dragonscale Boots | ||||
| Dragonscale Doublet | ||||
| Dragonscale Gauntlets | ||||
| Dragoon Sword | ||||
| Dread Banner | ||||
| Dread Maul | ||||
| Dream Mace | ||||
| Driftwood Club | ||||
| @ -636,6 +642,7 @@ Full Plate | ||||
| Full Ringmail | ||||
| Full Scale Armour | ||||
| Full Wyrmscale | ||||
| Fungal Hollow Map | ||||
| Gardens Map | ||||
| Gavel | ||||
| Gemcutter's Prism | ||||
| @ -650,13 +657,26 @@ Ghetto Map | ||||
| Giant Life Flask | ||||
| Giant Mana Flask | ||||
| Gift of the Gemling Queen | ||||
| Gilded Ambush Scarab | ||||
| Gilded Axe | ||||
| Gilded Bestiary Scarab | ||||
| Gilded Breach Scarab | ||||
| Gilded Buckler | ||||
| Gilded Cartography Scarab | ||||
| Gilded Divination Scarab | ||||
| Gilded Elder Scarab | ||||
| Gilded Fossil | ||||
| Gilded Harbinger Scarab | ||||
| Gilded Perandus Scarab | ||||
| Gilded Reliquary Scarab | ||||
| Gilded Sallet | ||||
| Gilded Shaper Scarab | ||||
| Gilded Sulphite Scarab | ||||
| Gilded Torment Scarab | ||||
| Girded Tower Shield | ||||
| Glacial Cascade | ||||
| Glacial Hammer | ||||
| Glacier Map | ||||
| Gladiator Helmet | ||||
| Gladiator Plate | ||||
| Gladius | ||||
| @ -689,7 +709,6 @@ Golden Plate | ||||
| Golden Wreath | ||||
| Goliath Gauntlets | ||||
| Goliath Greaves | ||||
| Gorge Map | ||||
| Gouger | ||||
| Grace | ||||
| Graceful Sword | ||||
| @ -859,6 +878,7 @@ Lacquered Helmet | ||||
| Lair Map | ||||
| Lair of the Hydra Map | ||||
| Laminated Kite Shield | ||||
| Lancing Steel | ||||
| Lantador's Lost Love | ||||
| Lapis Amulet | ||||
| Large Hybrid Flask | ||||
| @ -867,7 +887,7 @@ Large Mana Flask | ||||
| Last Hope | ||||
| Lathi | ||||
| Latticed Ringmail | ||||
| Lava Chamber Map | ||||
| Lava Chambers Map | ||||
| Lava Lake Map | ||||
| Layered Kite Shield | ||||
| Lead Sceptre | ||||
| @ -888,9 +908,9 @@ Lesser Poison Support | ||||
| Leyline Map | ||||
| Life Gain on Hit Support | ||||
| Life Leech Support | ||||
| Light and Truth | ||||
| Light Brigandine | ||||
| Light Quiver | ||||
| Light and Truth | ||||
| Lighthouse Map | ||||
| Lightning Arrow | ||||
| Lightning Penetration Support | ||||
| @ -975,14 +995,14 @@ Military Staff | ||||
| Mind Cage | ||||
| Minefield Support | ||||
| Mineral Pools Map | ||||
| Minion and Totem Elemental Resistance Support | ||||
| Minion Damage Support | ||||
| Minion Life Support | ||||
| Minion Speed Support | ||||
| Minion and Totem Elemental Resistance Support | ||||
| Mirage Archer Support | ||||
| Mirror Arrow | ||||
| Mirror Shard | ||||
| Mirror of Kalandra | ||||
| Mirror Shard | ||||
| Mirrored Spiked Shield | ||||
| Mitts | ||||
| Molten Shell | ||||
| @ -1000,6 +1020,7 @@ Mortal Ignorance | ||||
| Mortal Rage | ||||
| Mosaic Kite Shield | ||||
| Mud Geyser Map | ||||
| Multiple Totems Support | ||||
| Multiple Traps Support | ||||
| Multistrike Support | ||||
| Murder Boots | ||||
| @ -1110,7 +1131,19 @@ Poignard | ||||
| Point Blank Support | ||||
| Poison Support | ||||
| Poleaxe | ||||
| Polished Ambush Scarab | ||||
| Polished Bestiary Scarab | ||||
| Polished Breach Scarab | ||||
| Polished Cartography Scarab | ||||
| Polished Divination Scarab | ||||
| Polished Elder Scarab | ||||
| Polished Harbinger Scarab | ||||
| Polished Perandus Scarab | ||||
| Polished Reliquary Scarab | ||||
| Polished Shaper Scarab | ||||
| Polished Spiked Shield | ||||
| Polished Sulphite Scarab | ||||
| Polished Torment Scarab | ||||
| Port Map | ||||
| Portal | ||||
| Portal Scroll | ||||
| @ -1132,6 +1165,7 @@ Primeval Rapier | ||||
| Primitive Alchemical Resonator | ||||
| Primitive Chaotic Resonator | ||||
| Primitive Staff | ||||
| Primordial Blocks Map | ||||
| Primordial Pool Map | ||||
| Primordial Staff | ||||
| Prismatic Fossil | ||||
| @ -1160,9 +1194,9 @@ Quartz Wand | ||||
| Quicksilver Flask | ||||
| Quilted Jacket | ||||
| Racecourse Map | ||||
| Rain Tempter | ||||
| Rain of Arrows | ||||
| Rain of Chaos | ||||
| Rain Tempter | ||||
| Raise Spectre | ||||
| Raise Zombie | ||||
| Rallying Cry | ||||
| @ -1226,10 +1260,22 @@ Ruby Flask | ||||
| Ruby Ring | ||||
| Rugged Quiver | ||||
| Runic Hatchet | ||||
| Rusted Ambush Scarab | ||||
| Rusted Bestiary Scarab | ||||
| Rusted Breach Scarab | ||||
| Rusted Cartography Scarab | ||||
| Rusted Coif | ||||
| Rusted Divination Scarab | ||||
| Rusted Elder Scarab | ||||
| Rusted Harbinger Scarab | ||||
| Rusted Hatchet | ||||
| Rusted Perandus Scarab | ||||
| Rusted Reliquary Scarab | ||||
| Rusted Shaper Scarab | ||||
| Rusted Spike | ||||
| Rusted Sulphite Scarab | ||||
| Rusted Sword | ||||
| Rusted Torment Scarab | ||||
| Rustic Sash | ||||
| Ruthless Support | ||||
| Sabre | ||||
| @ -1335,6 +1381,7 @@ Sharkskin Gloves | ||||
| Sharkskin Tunic | ||||
| Sharktooth Arrow Quiver | ||||
| Sharktooth Claw | ||||
| Shattering Steel | ||||
| Shield Charge | ||||
| Shipyard Map | ||||
| Shock Nova | ||||
| @ -1445,7 +1492,6 @@ Splinter of Xoph | ||||
| Splintered Tower Shield | ||||
| Split Arrow | ||||
| Splitnewt Talisman | ||||
| Springs Map | ||||
| Stacked Deck | ||||
| Stag Sceptre | ||||
| Static Strike | ||||
| @ -1467,6 +1513,7 @@ Stone Hammer | ||||
| Stone of Passage | ||||
| Storm Barrier Support | ||||
| Storm Blade | ||||
| Storm Brand | ||||
| Storm Burst | ||||
| Storm Call | ||||
| Strand Map | ||||
| @ -1599,14 +1646,17 @@ The King's Blade | ||||
| The King's Heart | ||||
| The Last One Standing | ||||
| The Lich | ||||
| The Life Thief | ||||
| The Lion | ||||
| The Lord in Black | ||||
| The Lover | ||||
| The Lunaris Priestess | ||||
| The Master | ||||
| The Master Artisan | ||||
| The Mayor | ||||
| The Mercenary | ||||
| The Metalsmith's Gift | ||||
| The Nurse | ||||
| The Oath | ||||
| The Obscured | ||||
| The Offering | ||||
| @ -1628,6 +1678,7 @@ The Risk | ||||
| The Rite of Elements | ||||
| The Road to Power | ||||
| The Ruthless Ceinture | ||||
| The Sacrifice | ||||
| The Saint's Treasure | ||||
| The Samurai's Eye | ||||
| The Scarred Meadow | ||||
| @ -1711,7 +1762,6 @@ Torment Leaguestone | ||||
| Tornado Shot | ||||
| Tornado Wand | ||||
| Torture Cage | ||||
| Torture Chamber Map | ||||
| Totemic Maul | ||||
| Tower Key | ||||
| Tower Map | ||||
| @ -1719,8 +1769,8 @@ Toxic Rain | ||||
| Toxic Sewer Map | ||||
| Tranquillity | ||||
| Transmutation Shard | ||||
| Trap Support | ||||
| Trap and Mine Damage Support | ||||
| Trap Support | ||||
| Trapper Boots | ||||
| Trapper Mitts | ||||
| Trarthan Powder | ||||
| @ -1729,7 +1779,6 @@ Treasure Key | ||||
| Tribal Circlet | ||||
| Tribal Club | ||||
| Tribal Maul | ||||
| Tribunal Map | ||||
| Tricorne | ||||
| Trisula | ||||
| Triumphant Lamellar | ||||
| @ -1815,16 +1864,16 @@ Vault Map | ||||
| Velvet Gloves | ||||
| Velvet Slippers | ||||
| Vengeance | ||||
| Vial Of Power | ||||
| Vial of Awakening | ||||
| Vial of Consequence | ||||
| Vial of Dominance | ||||
| Vial of Fate | ||||
| Vial Of Power | ||||
| Vial of Sacrifice | ||||
| Vial of Summoning | ||||
| Vial of Transcendence | ||||
| Vial of the Ghost | ||||
| Vial of the Ritual | ||||
| Vial of Transcendence | ||||
| Vicious Projectiles Support | ||||
| Vigilant Strike | ||||
| Vile Staff | ||||
| @ -1865,6 +1914,7 @@ Wailing Essence of Wrath | ||||
| Wailing Essence of Zeal | ||||
| Walnut Spirit Shield | ||||
| War Axe | ||||
| War Banner | ||||
| War Buckler | ||||
| War Hammer | ||||
| War Plate | ||||
| @ -1902,6 +1952,7 @@ Widowsilk Robe | ||||
| Wild Leather | ||||
| Wild Strike | ||||
| Wings of Vastiri | ||||
| Winter Orb | ||||
| Wither | ||||
| Withering Touch Support | ||||
| Wolf Pelt | ||||
|  | ||||
| @ -61,6 +61,7 @@ Carved | ||||
| Caster's | ||||
| Catalysed | ||||
| Catalyzing | ||||
| Catarina's Veiled | ||||
| Caustic | ||||
| Cauterising | ||||
| Cautious | ||||
| @ -115,6 +116,7 @@ Duelist's | ||||
| Eldritch | ||||
| Electrocuting | ||||
| Electromantic | ||||
| Elreon's Veiled | ||||
| Elephant's | ||||
| Emanant | ||||
| Emperor's | ||||
| @ -172,9 +174,12 @@ Glinting | ||||
| Glittering | ||||
| Glowing | ||||
| Glyphic | ||||
| Gravicius' Veiled | ||||
| Gremlin's | ||||
| Grounded | ||||
| Guatelitzi's | ||||
| Guff's Veiled | ||||
| Haku's Veiled | ||||
| Hailing | ||||
| Hale | ||||
| Halting | ||||
| @ -218,16 +223,19 @@ Instilled | ||||
| Interpermeated | ||||
| Interpolated | ||||
| Ionising | ||||
| It That Fled's Veiled | ||||
| Jagged | ||||
| Jinxing | ||||
| Journeyman's | ||||
| Judging | ||||
| Korell's Veiled | ||||
| Lacquered | ||||
| Lamprey's | ||||
| Lava Caller's | ||||
| Layered | ||||
| Leadership | ||||
| Legend's | ||||
| Leo's Veiled | ||||
| Lethal | ||||
| Lich's | ||||
| Lively | ||||
| @ -306,6 +314,7 @@ Resonating | ||||
| Resplendent | ||||
| Rhino's | ||||
| Ribbed | ||||
| Rin's Veiled | ||||
| Ripping | ||||
| Robust | ||||
| Rotund | ||||
| @ -384,6 +393,7 @@ Thundering | ||||
| Thwarting | ||||
| Titan's | ||||
| Topotante's | ||||
| Tora's Veiled | ||||
| Trapping | ||||
| Tul's | ||||
| Turncoat's | ||||
| @ -399,8 +409,10 @@ Unwavering | ||||
| Unworldly | ||||
| Urchin's | ||||
| Vaal | ||||
| Vagan's Veiled | ||||
| Vampire's | ||||
| Vaporous | ||||
| Veiled | ||||
| Vicious | ||||
| Victor's | ||||
| Vigorous | ||||
| @ -410,6 +422,7 @@ Vivacious | ||||
| Vivid | ||||
| Volcanic | ||||
| Volleying | ||||
| Vorici's Veiled | ||||
| Wailing | ||||
| Warding | ||||
| Warlock's | ||||
| @ -436,6 +449,7 @@ of Accuracy | ||||
| of Adamantite Skin | ||||
| of Adaption | ||||
| of Adrenaline | ||||
| of Aisling's Veil | ||||
| of Amassment | ||||
| of Anger | ||||
| of Animation | ||||
| @ -459,6 +473,7 @@ of Bloodlines | ||||
| of Burning | ||||
| of Calamity | ||||
| of Calm | ||||
| of Cameria's Veil | ||||
| of Celebration | ||||
| of Champions | ||||
| of Chilling | ||||
| @ -547,6 +562,7 @@ of Havoc | ||||
| of Haze | ||||
| of Heat | ||||
| of Hemomancy | ||||
| of Hillock's Veil | ||||
| of Hindering | ||||
| of Hoarding | ||||
| of Hordes | ||||
| @ -563,6 +579,8 @@ of Intelligence | ||||
| of Intercepting | ||||
| of Ire | ||||
| of Iron Skin | ||||
| of Janus' Veil | ||||
| of Jorgin's Veil | ||||
| of Joy | ||||
| of Legerdemain | ||||
| of Light | ||||
| @ -621,6 +639,7 @@ of Resistance | ||||
| of Restoration | ||||
| of Retaliation | ||||
| of Righteousness | ||||
| of Riker's Veil | ||||
| of Rime | ||||
| of Ruin | ||||
| of Runes | ||||
| @ -774,6 +793,7 @@ of the Titan | ||||
| of the Troll | ||||
| of the Underground | ||||
| of the Universe | ||||
| of the Veil | ||||
| of the Virtuoso | ||||
| of the Volcano | ||||
| of the Wall | ||||
|  | ||||
							
								
								
									
										241
									
								
								Filtration/Resources/Prophecies.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										241
									
								
								Filtration/Resources/Prophecies.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,241 @@ | ||||
| A Call into the Void | ||||
| A Dishonourable Death | ||||
| A Firm Foothold | ||||
| A Forest of False Idols | ||||
| A Gracious Master | ||||
| A Master Seeks Help | ||||
| A Prodigious Hand | ||||
| A Regal Death | ||||
| A Rift in Time | ||||
| A Valuable Combination | ||||
| A Vision of Ice and Fire | ||||
| A Whispered Prayer | ||||
| Abnormal Effulgence | ||||
| Against the Tide | ||||
| Agony at Dusk | ||||
| An Unseen Peril | ||||
| Anarchy's End | ||||
| Anarchy's End I | ||||
| Anarchy's End II | ||||
| Anarchy's End III | ||||
| Anarchy's End IV | ||||
| Ancient Doom | ||||
| Baptism by Death | ||||
| Battle Hardened | ||||
| Beyond Sight | ||||
| Beyond Sight I | ||||
| Beyond Sight II | ||||
| Beyond Sight III | ||||
| Beyond Sight IV | ||||
| Black Devotion | ||||
| Blind Faith | ||||
| Blinding Light | ||||
| Blood in the Eyes | ||||
| Blood of the Betrayed | ||||
| Bountiful Traps | ||||
| Burning Dread | ||||
| Cleanser of Sins | ||||
| Cold Blooded Fury | ||||
| Cold Greed | ||||
| Crimson Hues | ||||
| Crushing Squall | ||||
| Custodians of Silence | ||||
| Dance of Steel | ||||
| Dark Instincts | ||||
| Darktongue's Shriek | ||||
| Day of Sacrifice | ||||
| Day of Sacrifice I | ||||
| Day of Sacrifice II | ||||
| Day of Sacrifice III | ||||
| Day of Sacrifice IV | ||||
| Deadly Rivalry | ||||
| Deadly Rivalry I | ||||
| Deadly Rivalry II | ||||
| Deadly Rivalry III | ||||
| Deadly Rivalry IV | ||||
| Deadly Rivalry V | ||||
| Deadly Twins | ||||
| Defiled in the Sceptre | ||||
| Dying Cry | ||||
| Echoes of Witchcraft | ||||
| End of the Light | ||||
| Ending the Torment | ||||
| Erased from Memory | ||||
| Erasmus' Gift | ||||
| Faith Exhumed | ||||
| Fallow At Last | ||||
| Fated Connections | ||||
| Fear's Wide Reach | ||||
| Fire and Brimstone | ||||
| Fire and Ice | ||||
| Fire from the Sky | ||||
| Fire, Wood and Stone | ||||
| Flesh of the Beast | ||||
| Forceful Exorcism | ||||
| From Death Springs Life | ||||
| From The Void | ||||
| Gilded Within | ||||
| Golden Touch | ||||
| Graceful Flames | ||||
| Greed's Folly | ||||
| Heart of the Fire | ||||
| Heavy Blows | ||||
| Hidden Reinforcements | ||||
| Hidden Vaal Pathways | ||||
| Holding the Bridge | ||||
| Hunter's Lesson | ||||
| Ice from Above | ||||
| In the Grasp of Corruption | ||||
| Kalandra's Craft | ||||
| Last of the Wildmen | ||||
| Lasting Impressions | ||||
| Lightning Falls | ||||
| Living Fires | ||||
| Lost in the Pages | ||||
| Monstrous Treasure | ||||
| Mouth of Horrors | ||||
| Mysterious Invaders | ||||
| Nature's Resilience | ||||
| Nemesis of Greed | ||||
| Notched Flesh | ||||
| Overflowing Riches | ||||
| Path of Betrayal | ||||
| Plague of Frogs | ||||
| Plague of Rats | ||||
| Pleasure and Pain | ||||
| Pools of Wealth | ||||
| Possessed Foe | ||||
| Power Magnified | ||||
| Rebirth | ||||
| Reforged Bonds | ||||
| Resistant to Change | ||||
| Risen Blood | ||||
| Roth's Legacy | ||||
| Severed Limbs | ||||
| Smothering Tendrils | ||||
| Soil, Worms and Blood | ||||
| Song of the Sekhema | ||||
| Storm on the Horizon | ||||
| Storm on the Reef | ||||
| Strong as a Bull | ||||
| Sun's Punishment | ||||
| Thaumaturgical History | ||||
| Thaumaturgical History I | ||||
| Thaumaturgical History II | ||||
| Thaumaturgical History III | ||||
| Thaumaturgical History IV | ||||
| The Alchemist | ||||
| The Ambitious Bandit | ||||
| The Ambitious Bandit I | ||||
| The Ambitious Bandit II | ||||
| The Ambitious Bandit III | ||||
| The Apex Predator | ||||
| The Beautiful Guide | ||||
| The Beginning and the End | ||||
| The Bishop's Legacy | ||||
| The Bloody Flowers Redux | ||||
| The Bowstring's Music | ||||
| The Brothers of Necromancy | ||||
| The Brutal Enforcer | ||||
| The Child of Lunaris | ||||
| The Corrupt | ||||
| The Cursed Choir | ||||
| The Dreaded Rhoa | ||||
| The Dream Trial | ||||
| The Dreamer's Dream | ||||
| The Eagle's Cry | ||||
| The Fall of an Empire | ||||
| The Feral Lord | ||||
| The Feral Lord I | ||||
| The Feral Lord II | ||||
| The Feral Lord III | ||||
| The Feral Lord IV | ||||
| The Feral Lord V | ||||
| The Flayed Man | ||||
| The Flow of Energy | ||||
| The Forgotten Garrison | ||||
| The Forgotten Soldiers | ||||
| The Fortune Teller's Collection | ||||
| The Four Feral Exiles | ||||
| The God of Misfortune | ||||
| The Great Leader of the North | ||||
| The Great Mind of the North | ||||
| The Hardened Armour | ||||
| The Hollow Pledge | ||||
| The Hungering Swarm | ||||
| The Invader | ||||
| The Jeweller's Touch | ||||
| The Karui Rebellion | ||||
| The King and the Brambles | ||||
| The King's Path | ||||
| The Lady in Black | ||||
| The Last Watch | ||||
| The Lost Maps | ||||
| The Lost Undying | ||||
| The Malevolent Witch | ||||
| The Misunderstood Queen | ||||
| The Mysterious Gift | ||||
| The Nest | ||||
| The Nightmare Awakens | ||||
| The Petrified | ||||
| The Plaguemaw | ||||
| The Plaguemaw I | ||||
| The Plaguemaw II | ||||
| The Plaguemaw III | ||||
| The Plaguemaw IV | ||||
| The Plaguemaw V | ||||
| The Prison Guard | ||||
| The Prison Key | ||||
| The Queen's Sacrifice | ||||
| The Queen's Vaults | ||||
| The Scout | ||||
| The Servant's Heart | ||||
| The Sharpened Blade | ||||
| The Silverwood | ||||
| The Singular Spirit | ||||
| The Sinner's Stone | ||||
| The Snuffed Flame | ||||
| The Soulless Beast | ||||
| The Stockkeeper | ||||
| The Storm Spire | ||||
| The Sword King's Passion | ||||
| The Trembling Earth | ||||
| The Twins | ||||
| The Unbreathing Queen | ||||
| The Unbreathing Queen I | ||||
| The Unbreathing Queen II | ||||
| The Unbreathing Queen III | ||||
| The Unbreathing Queen IV | ||||
| The Unbreathing Queen V | ||||
| The Undead Brutes | ||||
| The Undead Storm | ||||
| The Vanguard | ||||
| The Walking Mountain | ||||
| The Ward's Ward | ||||
| The Warmongers | ||||
| The Warmongers I | ||||
| The Warmongers II | ||||
| The Warmongers III | ||||
| The Warmongers IV | ||||
| The Watcher's Watcher | ||||
| The Wealthy Exile | ||||
| Touched by the Wind | ||||
| Trapped in the Tower | ||||
| Trash to Treasure | ||||
| Twice Enchanted | ||||
| Unbearable Whispers | ||||
| Unbearable Whispers I | ||||
| Unbearable Whispers II | ||||
| Unbearable Whispers III | ||||
| Unbearable Whispers IV | ||||
| Unbearable Whispers V | ||||
| Undead Uprising | ||||
| Unnatural Energy | ||||
| Vaal Invasion | ||||
| Vaal Winds | ||||
| Visions of the Drowned | ||||
| Vital Transformation | ||||
| Waiting in Ambush | ||||
| Weeping Death | ||||
| Wind and Thunder | ||||
| Winter's Mournful Melodies | ||||
| @ -11,6 +11,7 @@ namespace Filtration.Services | ||||
|         IEnumerable<string> ItemBaseTypes { get; } | ||||
|         IEnumerable<string> ItemClasses { get; } | ||||
|         IEnumerable<string> ItemMods { get; } | ||||
|         IEnumerable<string> Prophecies { get; } | ||||
|     } | ||||
| 
 | ||||
|     internal class StaticDataService : IStaticDataService | ||||
| @ -26,11 +27,14 @@ namespace Filtration.Services | ||||
| 
 | ||||
|         public IEnumerable<string> ItemMods { get; private set; } | ||||
| 
 | ||||
|         public IEnumerable<string> Prophecies { get; private set; } | ||||
| 
 | ||||
|         private void PopulateStaticData() | ||||
|         { | ||||
|             ItemBaseTypes = new LineReader(() => new StringReader(Resources.ItemBaseTypes)).ToList(); | ||||
|             ItemClasses = new LineReader(() => new StringReader(Resources.ItemClasses)).ToList(); | ||||
|             ItemMods = new LineReader(() => new StringReader(Resources.ItemMods)).ToList(); | ||||
|             Prophecies = new LineReader(() => new StringReader(Resources.Prophecies)).ToList(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -76,6 +76,11 @@ | ||||
|                         <userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteItemBaseTypes}" /> | ||||
|                     </DataTemplate> | ||||
| 
 | ||||
|                     <!-- Prophecy Template --> | ||||
|                     <DataTemplate DataType="{x:Type blockItemTypes:ProphecyBlockItem}"> | ||||
|                         <userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteProphecies}" /> | ||||
|                     </DataTemplate> | ||||
| 
 | ||||
|                     <!-- Explicit Mods Template --> | ||||
|                     <DataTemplate DataType="{x:Type blockItemTypes:HasExplicitModBlockItem}"> | ||||
|                         <userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutocompleteItemMods}" /> | ||||
|  | ||||
| @ -111,6 +111,7 @@ namespace Filtration.ViewModels.DesignTime | ||||
|         public bool DisplaySettingsPopupOpen { get; set; } | ||||
|         public IEnumerable<string> AutoCompleteItemClasses { get; } | ||||
|         public IEnumerable<string> AutoCompleteItemBaseTypes { get; } | ||||
|         public IEnumerable<string> AutoCompleteProphecies { get; } | ||||
|         public IEnumerable<string> AutocompleteItemMods { get; } | ||||
|         public List<Type> BlockItemTypesAvailable => new List<Type> | ||||
|                                                      { | ||||
| @ -125,6 +126,7 @@ namespace Filtration.ViewModels.DesignTime | ||||
|                                                          typeof (SocketGroupBlockItem), | ||||
|                                                          typeof (ClassBlockItem), | ||||
|                                                          typeof (BaseTypeBlockItem), | ||||
|                                                          typeof (ProphecyBlockItem), | ||||
|                                                          typeof (IdentifiedBlockItem), | ||||
|                                                          typeof (CorruptedBlockItem), | ||||
|                                                          typeof (ElderItemBlockItem), | ||||
|  | ||||
| @ -50,6 +50,7 @@ namespace Filtration.ViewModels | ||||
|         bool DisplaySettingsPopupOpen { get; set; } | ||||
|         IEnumerable<string> AutoCompleteItemClasses { get; } | ||||
|         IEnumerable<string> AutoCompleteItemBaseTypes { get; } | ||||
|         IEnumerable<string> AutoCompleteProphecies { get; } | ||||
|         IEnumerable<string> AutocompleteItemMods { get; } | ||||
|         List<Type> BlockItemTypesAvailable { get; } | ||||
|         List<Type> AudioVisualBlockItemTypesAvailable { get; } | ||||
| @ -203,6 +204,8 @@ namespace Filtration.ViewModels | ||||
| 
 | ||||
|         public IEnumerable<string> AutoCompleteItemBaseTypes => _staticDataService.ItemBaseTypes; | ||||
| 
 | ||||
|         public IEnumerable<string> AutoCompleteProphecies => _staticDataService.Prophecies; | ||||
| 
 | ||||
|         public IEnumerable<string> AutocompleteItemMods => _staticDataService.ItemMods; | ||||
| 
 | ||||
|         public List<Type> BlockItemTypesAvailable => new List<Type> | ||||
| @ -218,6 +221,7 @@ namespace Filtration.ViewModels | ||||
|             typeof (SocketGroupBlockItem), | ||||
|             typeof (ClassBlockItem), | ||||
|             typeof (BaseTypeBlockItem), | ||||
|             typeof (ProphecyBlockItem), | ||||
|             typeof (IdentifiedBlockItem), | ||||
|             typeof (CorruptedBlockItem), | ||||
|             typeof (ElderItemBlockItem), | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user