ben-wallis / filtration Goto Github PK
View Code? Open in Web Editor NEWThe Path of Exile loot filter editor
License: GNU General Public License v2.0
The Path of Exile loot filter editor
License: GNU General Public License v2.0
But adding/removing section does.
I cant change the appearance of one block anymore. It always adds one extra block below instead.
Hope you can fix it soon & thanks for this tool!
This is how I'd like the workflow of adding base types to be:
Create a new Block, click on "+Base Type". The text box should automatically be selected so you can type immediately after the click.
Then type the wanted base type, for example: "Fishing Rod". Pressing Enter should then Add "Fishing Rod" to the base type list.
Afterwards the text box should be automatically selected again, ready to add another base type.
Currently it is necessary to click on the text box to type, then it is necessary to click on the Add button.
Also I'd like to suggest adding a small "x" button in the upper right corner of the base type when the mouse is hovering over it. The Delete button works but I'd like to see visually that it is possible to remove them.
I read the wiki page about block groups and would like to employ them... However, I cannot figure out a way to do this inside Filtration.
The block group browser holds no functionality for this.
The "Show Advanced Blocks" does not change anything about the UI afaict.
No context menu holds any entry related to groups.
The ribbons don't contain anything related either.
Block Output Preview doesn't let you edit it in.
Am I just blind or is this feature (I mean, you even made the block group browser) actually not useable from within Filtration?
If you click Close on the File menu with no script or theme open, an unhandled exception causes Filtration to crash.
I'm using Win 8.1 and have the firewall setup by default to block everything except those programs that I allow through.
Here's the error log:
2015-07-11 10:11:51.6621 FATAL System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 103.245.222.133:80
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endFunction, Action1 endAction, Task
1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.Services.HTTPService.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.Services.UpdateCheckService.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.ViewModels.MainWindowViewModel.d__3e.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
2015-07-11 10:12:23.6923 FATAL System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 103.245.222.133:80
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endFunction, Action1 endAction, Task
1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.Services.HTTPService.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.Services.UpdateCheckService.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.ViewModels.MainWindowViewModel.d__3e.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
2015-07-11 10:14:02.0102 FATAL System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 103.245.222.133:80
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endFunction, Action1 endAction, Task
1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.Services.HTTPService.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.Services.UpdateCheckService.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Filtration.ViewModels.MainWindowViewModel.d__3c.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
Took me a very long time to find the "Clear All Filters"-button when I was messing around with the block browser. Add it either separately or make the "Filter to selected Block Group"-button a on/off switch.
Suggestion as per reddit post from /u/schmilka
Case:
Use the new CustomAlertSound block. Save the file and re-open.
Recent changes to the ItemFilterBlockViewModel class have resulted in the preview not updating when a Text, Background or Border Color item is removed from a block.
Could add:
Could be expanded on right click directly in section browser.
Post careful inspection: I think I figured out the problem... my comments weren't accurate, and after I fixed them the problem went away. This doesn't really make sense to me (maybe they're not just comments?), so maybe I did fixed something else that I don't remember. Regardless, I'm pretty sure I didn't touch any other part of the filter, so the problem must still be in this text. If it's an intentional thing it'd be really helpful to have a popup or something explaining why the change happened. Thanks for your time!
I have maps T6+ shown, and below this in the filter T1+ shown if their item level is at most 5 lower than their drop level. Below this in the filter are quality maps (shown) and maps that do not meet the requirements above (hidden). When I open the filter in Filtration there's a star next to the file name, and all maps below the T6+ section are now hidden.
Here's the text:
Show # T16 Maps
Class "Maps"
BaseType "Forge of the Phoenix Map" "Maze of the Minotaur Map" "Lair of the Hydra Map" "Pit of the Chimera Map" "Vaal Temple Map"
SetTextColor 0 0 0
SetBackgroundColor 255 255 255
SetBorderColor 100 0 255
SetFontSize 48
PlayAlertSound 6 300
Show # T15 Maps
DropLevel >= 82
Class "Maps"
SetBackgroundColor 80 0 0
SetBorderColor 210 0 0
SetFontSize 48
PlayAlertSound 6 300
Show # T14 Maps
DropLevel >= 81
Class "Maps"
SetBorderColor 210 0 0
SetFontSize 48
PlayAlertSound 4 300
Show # T13 Maps
DropLevel >= 80
Class "Maps"
SetBorderColor 210 0 0
SetFontSize 48
PlayAlertSound 4 300
Show # T12 Maps
DropLevel >= 79
Class "Maps"
SetBorderColor 210 0 0
SetFontSize 48
PlayAlertSound 4 300
Show # T11 Maps
DropLevel >= 78
Class "Maps"
SetBorderColor 210 0 0
SetFontSize 48
PlayAlertSound 4 300
Show # T10 Maps
DropLevel >= 77
Class "Maps"
SetBorderColor 255 255 119
SetFontSize 48
PlayAlertSound 4 300
Show # T9 Maps
DropLevel >= 76
Class "Maps"
SetBorderColor 255 255 119
SetFontSize 48
PlayAlertSound 4 300
Show # T8 Maps
DropLevel >= 75
Class "Maps"
SetBorderColor 255 255 119
SetFontSize 48
PlayAlertSound 4 300
Show # T7 Maps
DropLevel >= 74
Class "Maps"
SetBorderColor 255 255 119
SetFontSize 48
PlayAlertSound 4 300
Show # T6 Maps
DropLevel >= 73
Class "Maps"
SetBorderColor 255 255 119
SetFontSize 48
PlayAlertSound 4 300
Show # T5 Maps
DropLevel >= 72
Class "Maps"
ItemLevel <= 77
SetBorderColor 155 155 155
SetFontSize 48
PlayAlertSound 4 300
Show # T4 Maps
DropLevel >= 71
Class "Maps"
ItemLevel <= 76
SetBorderColor 155 155 155
SetFontSize 48
PlayAlertSound 4 300
Show # T3 Maps
DropLevel >= 70
Class "Maps"
ItemLevel <= 75
SetBorderColor 155 155 155
SetFontSize 48
PlayAlertSound 4 300
Show # T2 Maps
DropLevel >= 69
Class "Maps"
ItemLevel <= 74
SetBorderColor 155 155 155
SetFontSize 48
PlayAlertSound 4 300
Show # T1 Maps
DropLevel <= 68
Class "Maps"
ItemLevel <= 73
SetBorderColor 155 155 155
SetFontSize 48
PlayAlertSound 4 300
Show # T5 Maps - T10 and above
Quality >= 20
Class "Maps"
SetBackgroundColor 75 75 75
SetBorderColor 255 255 255
SetFontSize 48
PlayAlertSound 2 300
Show # T5 Maps - T10 and above
Quality >= 1
Class "Maps"
SetBackgroundColor 75 75 75
SetBorderColor 255 255 255
SetFontSize 48
PlayAlertSound 2 300
Hide # T5 Maps - T10 and above
DropLevel <= 72
Class "Maps"
SetBackgroundColor 0 0 0 100
SetBorderColor 155 155 155
SetFontSize 48
Seems it was added as a filter option, but I don't see how to do it through filtration, and doing it manually in the text file gets overwritten if u save with Filtration
Filtration shows the icons which were wrongly provided by GGG.
https://www.reddit.com/r/pathofexile/comments/9b7l5j/psa_for_filter_creators_dont_break_your_filters/e52h1u3/?context=3
I made a quick edit to better represent to what they will look like. They aren't completely 1:1 to what they will look like in-game but at least the colors are matching.
Can't see any block groups.
Block group was added with string from page on wiki:
Show #Gear - Progression - Weapon - One Hand Maces
Sorry if this isn't the right place, I don't have IRC installed.
I was working on an item filter just now, and I only realized that some of the backgrounds I chose made items hard on the eye because some sockets colors drown in it (i.e. blue sockets on a blueish background). It would be great if the Item preview could include RGB sockets (specifically for items that can actually have sockets would be the best ofcourse).
When you uncheck a block group in the block group browser, sometimes you just want to "not style an item" instead of "hiding an item" (as it may get catched later on by another block).
I think this would open a brand new way for users to manage their lootfilter with the Block Group Browser (and thus for lootfilter editors to edit block groups). I can see it good for leveling stuff, recipes, high bases...
I accidentally removed a Base Type line and wanted to undo it. That didn't work. Does not work for other lines and blocks either.
Hi there
I really like filtration and it's very nice. However I wonder if the following is possible:
Right now you only have "Show" or "Hide" options. Which is normally good. However I have a few things that I want to display in addtion when the league is new or young. E.g. show all 3- or 4 linked items at the beginning of the league where you don't have much currency yet etc.
So later in the league, I don't want to remove that so I only have the option of hiding or showing. But hiding stuff could mean other filters don't get run anymore.
That's why I'd like to have an additional option: "comment out". So the data is still there but it's just commented out and hence not being parsed. Upon a new league you can just toggle it back again to show.
Don't know if I'm missing something, but it doesn't seem to be possible to select multiple blocks at the same time for copy pasting. Having basic ctrl and shift functionality would already help a lot when adding sections from an old/other filter to a new one.
I wanted to try out something with Filtration 0.11 and now that there's a new version that I haven't installed yet a window that suggests to upgrade pops up before the program starts. I pressed the "Remind me later" which surprisingly shut down the entire program instead. I tried "Download now!" as well but it never allowed it to start up properly.
Using the "Never remind me again" option shut down the program as well, however the pop up isn't displayed on the next start up meaning it works as usual now.
Not sure if this is already fixed in the newest version just wanted to let you know. Using win 10 if that helps.
Various Hide blocks (have not tested Show) that include lines such as "Rarity Normal Magic" (which functions in-game to address both normal and magic items) are displaying in Filtration as applying only to Normal items. Switching the script text to "Rarity Magic Normal" continues to display in Filtration as applying only to Normal items.
Will provide screenshots if needed.
Item base type is missing filtration options for Labyrinth keys, specifically the Golden Key and Silver Key.
Despite having .net 4.5.5xxx installed, program fails to launch with .net version message
screenshot
please ignore, just realized i was taking the build number as version
When I load neversink's filter in filtration, the chisel section becomes completely deleted. This is the only one I noticed but I hope this isn't happening elsewhere!
Items filters can now see whether an item is corrupted with "corrupted true".
I'd like to have the block output preview pane to be always visible (and docked), so I enable it, but when I restart the Filtration application, the preview pane is hidden again and I have to re-enable it every time.
Would it be possible to preserve the Block Output Preview pane state?
Thanks!
Downloaded directly from the Github release page. Showed up after the installation.
I also upgraded to Windows 10 just today (installed filtration later), so that's a pattern apparently.
Trying to change "Alert Sound", replaced files in "resources" folder, working in program "preview" but still old sound InGame
At least, removing transparent background does not update the background defaut color (black).
Filtration currently doesn't support "Identified True" entry and will delete the line with it when you edit the filter. You have to manually add that back.
That entry is not essential to have but it can help a lot with some new sextant mods as well as for builds that use Cloak of Tawm'r Isley.. This should be high priority to add to filtration.
Adding:
### Show #Gear
and
# Show #Gear
in the header comment of the last Antnee's and Muldini's filter respectively makes Filtration 0.3 crash. In this case, it is incorrect according to the Muldini's Convention.
(Even if I like the idea of contentful parent by compressing #Gear - Archer - Bow
+ #Gear - Archer - Quiver
in #Gear - Bow
+ #Gear - Bow - Quiver
; Bow may be clicked as an independent node or be a parent of Quiver (and virtually still Bow) as my simple browser where 'Thrusting' is a special case of 'Sword'.)
Playeffect seems to be saved correctly, but it fails to read in some cases.
How to reproduce:
Problem description
The following filter is not parsed correctly, the meaning is changed when filtration loads it.
What I consider incorrect behaviour is that both these will be Show
-rules, but the first is Hide
in the file.
Work-around
Toggle Show
back to Hide
after parsing
Hide # $flask, lvl
ItemLevel > 68
Quality < 15
Class "Life Flask" "Mana Flask" "Hybrid Flask"
BaseType "Flask"
SetFontSize 20
Show # $flask, lvl
ItemLevel >= 35
Class "Life Flask" "Mana Flask"
BaseType "Flask"
BaseType "Small" "Medium" "Large" "Greater" "Grand"
SetFontSize 20
Found a bug regarding background opacity.
My script uses full opacity to highlight certain items (chaos recipe, RGB, etc). The blocks look like this before saving in Filtration...
"
Show
Rarity Rare
Class Ring Belt Amulet
ItemLevel >= 60
SetTextColor 255 255 119 255 #Rare Highlight
SetBackgroundColor 0 0 0 255 #Chaos Background
SetBorderColor 70 20 50 255 #Chaos Recipe Border
...and after saving (no other changes made)...
"
Show
ItemLevel >= 60
Rarity = Rare
Class "Ring" "Belt" "Amulet"
SetTextColor 255 255 119 # Rare Highlight
SetBackgroundColor 0 0 0 # Chaos Background
SetBorderColor 70 20 50 # Chaos Recipe Border
A few other blocks are affected in this way, also. (see my 6link section, the effect is the same). I noticed that this only seems to affect lines that use 255 opacity; my uncommon currency block (which uses 250) is unaffected.
I am trying to preview sounds and am clicking on the sound icon for particular block, but no sound can be heard.
Windows 7 x64.
Call stack here: http://pastebin.com/KkC5hX1m
Reproduction steps: (Tested 3 times, crash occurs all 3 times)
Running Windows 7.
The asterisk does not appear at the end of the filename in the filters tab.
Myfilter.filter*
Create a block, click on the linked text "Switch to Appearence Block Items". Now the text has changed to "Switch to Regular block items" but it is not possible to click on it to get back to where you started. The link works IF there are conditions applied.
Clicking on the preview picture switches between these modes without issue, but that took me a long time before I figured that out.
Full support for all item filter attributes
Artificial example:
Show
Rarity = "Normal" Rare
SetTextColor 255 255 0
SetBackgroundColor 255 255 255
Height 1 3
Width 3 1
Sockets 2 4 6
ItemLevel > 10 45
DropLevel > 5 6
Quality 0 10 20
LinkedSockets 0 1 3
Sockets 0 1 3
The operator !=
doesn't exist in game
By maximizing the Filtration Window the "Script Tools" selection at the top disappears.
I'm using Filtration V0.6 and Windows 7 if that's important.
It would be nice if the application could remember its main window state (size, maximized status, display screen).
Otherwise, users would have to re-adjust the size of the window every time they start the app.
If a Disabled Block has a Block Group, a bug in the translation layer causes "Show" to be misread as "Show#" which causes the block to not be loaded.
I'm trying to copy the following block from an old filter script of mine into Filtration:
Show Rarity = Normal Magic Rare SocketGroup RGB SetBorderColor 129 255 155 SetFontSize 41
But it seems that I can't set more than 2 of Item Rarity
from within the program. In fact, it doesn't seem like I can set more than 2 of anything. Is this working as intended?
Currently the sections blends in too much with the blocks, indenting the blocks slightly will help getting a overview of the filter.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.