Support for Path of Exile 3.6 and Synthesis League (#131)
* Add new block types * Add new base types
This commit is contained in:
parent
dea0378a16
commit
1f9a1c5196
|
@ -0,0 +1,23 @@
|
|||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public sealed class AnyEnchantmentBlockItem : BooleanBlockItem
|
||||
{
|
||||
public AnyEnchantmentBlockItem()
|
||||
{
|
||||
}
|
||||
|
||||
public AnyEnchantmentBlockItem(bool booleanValue) : base(booleanValue)
|
||||
{
|
||||
}
|
||||
|
||||
public override string PrefixText => "AnyEnchantment";
|
||||
public override string DisplayHeading => "Any Enchantment";
|
||||
public override Color SummaryBackgroundColor => Colors.YellowGreen;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.AnyEnchantment;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public sealed class FracturedItemBlockItem : BooleanBlockItem
|
||||
{
|
||||
public FracturedItemBlockItem()
|
||||
{
|
||||
}
|
||||
|
||||
public FracturedItemBlockItem(bool booleanValue) : base(booleanValue)
|
||||
{
|
||||
}
|
||||
|
||||
public override string PrefixText => "FracturedItem";
|
||||
public override string DisplayHeading => "Fractured Item";
|
||||
public override Color SummaryBackgroundColor => Colors.Salmon;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.FracturedItem;
|
||||
}
|
||||
}
|
|
@ -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 HasEnchantmentBlockItem : StringListBlockItem
|
||||
{
|
||||
public override string PrefixText => "HasEnchantment";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Has Enchantment";
|
||||
|
||||
public override string SummaryText
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Items.Count > 0 && Items.Count < 4)
|
||||
{
|
||||
return "Enchantments: " +
|
||||
Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(',');
|
||||
}
|
||||
if (Items.Count >= 4)
|
||||
{
|
||||
var remaining = Items.Count - 3;
|
||||
return "Enchantments: " + Items.Take(3)
|
||||
.Aggregate(string.Empty, (current, i) => current + i + ", ")
|
||||
.TrimEnd(' ')
|
||||
.TrimEnd(',') + " (+" + remaining + " more)";
|
||||
}
|
||||
return "Enchantments: (none)";
|
||||
}
|
||||
}
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.PaleGreen;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.HasEnchantment;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public sealed class SynthesisedItemBlockItem : BooleanBlockItem
|
||||
{
|
||||
public SynthesisedItemBlockItem()
|
||||
{
|
||||
}
|
||||
|
||||
public SynthesisedItemBlockItem(bool booleanValue) : base(booleanValue)
|
||||
{
|
||||
}
|
||||
|
||||
public override string PrefixText => "SynthesisedItem";
|
||||
public override string DisplayHeading => "Synthesised Item";
|
||||
public override Color SummaryBackgroundColor => Colors.Salmon;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.SynthesisedItem;
|
||||
}
|
||||
}
|
|
@ -12,6 +12,9 @@ namespace Filtration.ObjectModel.Enums
|
|||
Corrupted,
|
||||
ElderItem,
|
||||
ShaperItem,
|
||||
SynthesisedItem,
|
||||
FracturedItem,
|
||||
AnyEnchantment,
|
||||
MapTier,
|
||||
ShapedMap,
|
||||
ElderMap,
|
||||
|
@ -27,6 +30,7 @@ namespace Filtration.ObjectModel.Enums
|
|||
BaseType,
|
||||
Prophecy,
|
||||
HasExplicitMod,
|
||||
HasEnchantment,
|
||||
SetTextColor,
|
||||
SetBackgroundColor,
|
||||
SetBorderColor,
|
||||
|
|
|
@ -81,8 +81,11 @@
|
|||
<Compile Include="BlockItemBaseTypes\IntegerBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\NumericFilterPredicateBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\StringListBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\AnyEnchantmentBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\BackgroundColorBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\BaseTypeBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\FracturedItemBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\HasEnchantmentBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\MapTierBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\PlayEffectBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\BorderColorBlockItem.cs" />
|
||||
|
@ -95,6 +98,7 @@
|
|||
<Compile Include="BlockItemTypes\MapIconBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ProphecyBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ShapedMapBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\SynthesisedItemBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ShaperItemBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ElderItemBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\CorruptedBlockItem.cs" />
|
||||
|
|
|
@ -184,6 +184,21 @@ namespace Filtration.Parser.Services
|
|||
AddBooleanItemToBlockItems<ShaperItemBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "SynthesisedItem":
|
||||
{
|
||||
AddBooleanItemToBlockItems<SynthesisedItemBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "FracturedItem":
|
||||
{
|
||||
AddBooleanItemToBlockItems<FracturedItemBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "AnyEnchantment":
|
||||
{
|
||||
AddBooleanItemToBlockItems<AnyEnchantmentBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "ShapedMap":
|
||||
{
|
||||
AddBooleanItemToBlockItems<ShapedMapBlockItem>(block, trimmedLine);
|
||||
|
@ -317,6 +332,11 @@ namespace Filtration.Parser.Services
|
|||
AddStringListItemToBlockItems<HasExplicitModBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "HasEnchantment":
|
||||
{
|
||||
AddStringListItemToBlockItems<HasEnchantmentBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "ElderMap":
|
||||
{
|
||||
AddBooleanItemToBlockItems<ElderMapBlockItem>(block, trimmedLine);
|
||||
|
|
|
@ -463,6 +463,7 @@
|
|||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Resources\Enchantments.txt" />
|
||||
<Resource Include="Resources\Icons\no_sound_dds_light.png" />
|
||||
<Resource Include="Resources\Icons\no_sound_dds.png" />
|
||||
<Resource Include="Resources\Icons\speaker_icon.png" />
|
||||
|
|
|
@ -389,6 +389,17 @@ namespace Filtration.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Enchantment Decree of Force.
|
||||
/// </summary>
|
||||
internal static string Enchantments
|
||||
{
|
||||
get
|
||||
{
|
||||
return ResourceManager.GetString("Enchantments", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
|
||||
/// </summary>
|
||||
|
|
|
@ -214,4 +214,7 @@
|
|||
<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>
|
||||
<data name="Enchantments" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Enchantments.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1 @@
|
|||
Enchantment Decree of Force
|
|
@ -22,6 +22,7 @@ Alira's Amulet
|
|||
Alleyways Map
|
||||
Allflame
|
||||
Alloyed Spiked Shield
|
||||
Alone in the Darkness
|
||||
Alteration Shard
|
||||
Amber Amulet
|
||||
Ambush Boots
|
||||
|
@ -76,6 +77,7 @@ Armageddon Brand
|
|||
Arming Axe
|
||||
Armourer's Scrap
|
||||
Armoury Map
|
||||
Arrogance of the Vaal
|
||||
Arsenal Map
|
||||
Ashen Wood Map
|
||||
Ashscale Talisman
|
||||
|
@ -96,6 +98,7 @@ Avian Twins Talisman
|
|||
Awl
|
||||
Baleful Gem
|
||||
Ball Lightning
|
||||
Bane
|
||||
Bane of the Loyal
|
||||
Barbed Club
|
||||
Barbute Helmet
|
||||
|
@ -172,6 +175,7 @@ Bone Offering
|
|||
Bone Spirit Shield
|
||||
Bonechill Support
|
||||
Bonespire Talisman
|
||||
Boon of Justice
|
||||
Boon of the First Ones
|
||||
Boot Blade
|
||||
Boot Knife
|
||||
|
@ -389,6 +393,7 @@ Dagger Axe
|
|||
Damage on Full Life Support
|
||||
Dark Forest Map
|
||||
Dark Pact
|
||||
Dark Temptation
|
||||
Darkwood Sceptre
|
||||
Deadhand Talisman
|
||||
Deadly Ailments Support
|
||||
|
@ -450,6 +455,7 @@ Diamond Ring
|
|||
Dig Map
|
||||
Discharge
|
||||
Discipline
|
||||
Divine Ire
|
||||
Divine Life Flask
|
||||
Divine Mana Flask
|
||||
Divine Orb
|
||||
|
@ -510,6 +516,7 @@ Enchanted Fossil
|
|||
Encrusted Fossil
|
||||
Endurance Charge on Melee Stun Support
|
||||
Enduring Cry
|
||||
Energy Leech Support
|
||||
Enfeeble
|
||||
Engineer's Orb
|
||||
Engineer's Shard
|
||||
|
@ -820,7 +827,9 @@ Infernal Axe
|
|||
Infernal Blow
|
||||
Infernal Sword
|
||||
Infested Valley Map
|
||||
Infused Channelling Support
|
||||
Innervate Support
|
||||
Intensify Support
|
||||
Invasion Leaguestone
|
||||
Inya's Key
|
||||
Iron Circlet
|
||||
|
@ -949,6 +958,7 @@ Majestic Plate
|
|||
Malachai's Entrails
|
||||
Malachai's Heart
|
||||
Malachai's Lungs
|
||||
Malevolence
|
||||
Malformation Map
|
||||
Maligaro's Map
|
||||
Maligaro's Spike
|
||||
|
@ -1009,6 +1019,7 @@ Molten Shell
|
|||
Molten Strike
|
||||
Monkey Paw Talisman
|
||||
Monkey Twins Talisman
|
||||
Monochrome
|
||||
Moon Orb
|
||||
Moon Staff
|
||||
Moon Temple Map
|
||||
|
@ -1183,6 +1194,7 @@ Prophet Crown
|
|||
Prosperity
|
||||
Puncture
|
||||
Punishment
|
||||
Purifying Flame
|
||||
Purity of Elements
|
||||
Purity of Fire
|
||||
Purity of Ice
|
||||
|
@ -1295,6 +1307,7 @@ Saint's Hauberk
|
|||
Saintly Chainmail
|
||||
Sallet
|
||||
Sambar Sceptre
|
||||
Sambodhi's Vow
|
||||
Samite Gloves
|
||||
Samite Helmet
|
||||
Samite Slippers
|
||||
|
@ -1357,6 +1370,7 @@ Serpentscale Gauntlets
|
|||
Serrated Arrow Quiver
|
||||
Serrated Foil
|
||||
Serrated Fossil
|
||||
Seven Years Bad Luck
|
||||
Shabby Jerkin
|
||||
Shackled Boots
|
||||
Shadow Axe
|
||||
|
@ -1457,6 +1471,7 @@ Soldier Helmet
|
|||
Soldier's Brigandine
|
||||
Sorcerer Boots
|
||||
Sorcerer Gloves
|
||||
Soulrend
|
||||
Sovereign Spiked Shield
|
||||
Spark
|
||||
Sparkling Claw
|
||||
|
@ -1628,6 +1643,7 @@ The Garish Power
|
|||
The Gemcutter
|
||||
The Gentleman
|
||||
The Gladiator
|
||||
The Golden Era
|
||||
The Hale Heart
|
||||
The Harvester
|
||||
The Hermit
|
||||
|
@ -1642,19 +1658,24 @@ The Inventor
|
|||
The Iron Bard
|
||||
The Jester
|
||||
The Jeweller's Boon
|
||||
The Journey
|
||||
The King's Blade
|
||||
The King's Heart
|
||||
The Landing
|
||||
The Last One Standing
|
||||
The Lich
|
||||
The Life Thief
|
||||
The Lion
|
||||
The Lord in Black
|
||||
The Lord of Celebration
|
||||
The Lover
|
||||
The Lunaris Priestess
|
||||
The Mad King
|
||||
The Master
|
||||
The Master Artisan
|
||||
The Mayor
|
||||
The Mercenary
|
||||
The Messenger
|
||||
The Metalsmith's Gift
|
||||
The Nurse
|
||||
The Oath
|
||||
|
@ -1684,6 +1705,7 @@ The Samurai's Eye
|
|||
The Scarred Meadow
|
||||
The Scavenger
|
||||
The Scholar
|
||||
The Seeker
|
||||
The Sephirot
|
||||
The Shaper's Key
|
||||
The Shaper's Realm
|
||||
|
@ -1800,6 +1822,7 @@ Underground River Map
|
|||
Underground Sea Map
|
||||
Undying Flesh Talisman
|
||||
Unearth
|
||||
Unleash Support
|
||||
Unset Ring
|
||||
Unshaping Orb
|
||||
Ursine Pelt
|
||||
|
@ -1924,6 +1947,7 @@ Warlord's Mark
|
|||
Waste Pool Map
|
||||
Wasteland Map
|
||||
Waterways Map
|
||||
Wave of Conviction
|
||||
Waxed Garb
|
||||
Wealth and Power
|
||||
Weeping Essence
|
||||
|
@ -1978,4 +2002,5 @@ Yriel's Key
|
|||
Zealot Boots
|
||||
Zealot Gloves
|
||||
Zealot Helmet
|
||||
Zealotry
|
||||
Zodiac Leather
|
|
@ -12,6 +12,7 @@ namespace Filtration.Services
|
|||
IEnumerable<string> ItemClasses { get; }
|
||||
IEnumerable<string> ItemMods { get; }
|
||||
IEnumerable<string> Prophecies { get; }
|
||||
IEnumerable<string> Enchantments { get; }
|
||||
}
|
||||
|
||||
internal class StaticDataService : IStaticDataService
|
||||
|
@ -29,12 +30,15 @@ namespace Filtration.Services
|
|||
|
||||
public IEnumerable<string> Prophecies { get; private set; }
|
||||
|
||||
public IEnumerable<string> Enchantments { 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();
|
||||
Enchantments = new LineReader(() => new StringReader(Resources.Enchantments)).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,6 +87,11 @@
|
|||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutocompleteItemMods}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Enchantments Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:HasEnchantmentBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutocompleteEnchantments}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Socket Groups Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:SocketGroupBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" />
|
||||
|
|
|
@ -131,12 +131,16 @@ namespace Filtration.ViewModels.DesignTime
|
|||
typeof (CorruptedBlockItem),
|
||||
typeof (ElderItemBlockItem),
|
||||
typeof (ShaperItemBlockItem),
|
||||
typeof (SynthesisedItemBlockItem),
|
||||
typeof (FracturedItemBlockItem),
|
||||
typeof (AnyEnchantmentBlockItem),
|
||||
typeof (MapTierBlockItem),
|
||||
typeof (ShapedMapBlockItem),
|
||||
typeof (ElderMapBlockItem),
|
||||
typeof (GemLevelBlockItem),
|
||||
typeof (StackSizeBlockItem),
|
||||
typeof (HasExplicitModBlockItem)
|
||||
typeof (HasExplicitModBlockItem),
|
||||
typeof (HasEnchantmentBlockItem)
|
||||
};
|
||||
public List<Type> AudioVisualBlockItemTypesAvailable { get; }
|
||||
public Color DisplayTextColor => Colors.Red;
|
||||
|
|
|
@ -208,6 +208,8 @@ namespace Filtration.ViewModels
|
|||
|
||||
public IEnumerable<string> AutocompleteItemMods => _staticDataService.ItemMods;
|
||||
|
||||
public IEnumerable<string> AutocompleteEnchantments => _staticDataService.Enchantments;
|
||||
|
||||
public List<Type> BlockItemTypesAvailable => new List<Type>
|
||||
{
|
||||
typeof (ItemLevelBlockItem),
|
||||
|
@ -226,12 +228,16 @@ namespace Filtration.ViewModels
|
|||
typeof (CorruptedBlockItem),
|
||||
typeof (ElderItemBlockItem),
|
||||
typeof (ShaperItemBlockItem),
|
||||
typeof (SynthesisedItemBlockItem),
|
||||
typeof (FracturedItemBlockItem),
|
||||
typeof (AnyEnchantmentBlockItem),
|
||||
typeof (MapTierBlockItem),
|
||||
typeof (ShapedMapBlockItem),
|
||||
typeof (ElderMapBlockItem),
|
||||
typeof (GemLevelBlockItem),
|
||||
typeof (StackSizeBlockItem),
|
||||
typeof (HasExplicitModBlockItem)
|
||||
typeof (HasExplicitModBlockItem),
|
||||
typeof (HasEnchantmentBlockItem)
|
||||
};
|
||||
|
||||
public List<Type> AudioVisualBlockItemTypesAvailable => new List<Type>
|
||||
|
|
Loading…
Reference in New Issue