Item Filters

For a long time, Path of Exile players have requested some way to filter items. We were always resistant to this because the parameters of such an item filter would have to be so complicated that we couldn't reasonably make a user interface to support them.

For example, a lot of players want a way to filter out Magic and Normal items. This would be fine, but they still also want to see base item types above level 70. And currency. But not scrolls because they have enough of those. And maps. And any item with 20% quality. But any gem that has quality is good too. And any item with 6 sockets. And any item with 5 or more linked sockets.

As you can see, the array of UI options that we would have to provide to allow the specific filtering requirements of every player would be completely impractical.

This is why we are adding a new feature called Item Filter Scripts in the upcoming expansion. Not only do item filter scripts allow you to filter items, but they allow you to customise the display of items as well.

Item Filter Script Example

The following is a filter script that shows all the items described above and hides everything else:

# You can add comments by putting a # at the start of the line

Show

Rarity >= Rare



Show

DropLevel >= 70



Hide

BaseType "Scroll of Wisdom"



Show

Class Map Currency



Show

Class Gem

Quality > 0



Show

Quality 20



Show

Sockets 6



Show

LinkedSockets >= 5



Hide



The basic syntax of a script is a collection of Show and Hide blocks that each specify conditions. Anything matched by a Show block will be shown and anything matched by a Hide block will be hidden. If there are multiple conditions in a block then all of them must be matched for the block to match an item.

The blocks are matched in the order they come in the file which means that you need to have the block that hides the scrolls above before the line that shows the currency because scrolls would also match the currency block.

An empty block matches all items, which means that the Hide at the end of the file effectively hides everything that wasn't specifically shown.

The example here uses a whitelisting approach where you specify all the items that you want to see, but it is perfectly reasonable to create a filter script that simply hides the items you don't wish to see while showing the rest with an empty Show at the bottom.

Item Filter Condition Types

The following is a full list of all the conditions that you can specify to filter items. Numeric conditions allow you to use comparison operators such as less than (greater than or equals (>=) to indicate that you would like to include items that would compare that way.

Name Notes ItemLevel The level the item was generated at. DropLevel The level that the item starts dropping at. Quality The amount of quality on the item. Rarity Rarity of the item. Rarities are Normal, Magic, Rare or Unique. Class The item class. Specifying part of a class name is allowed and will match any classes with that text in the name. So for example "One Hand" will match both "One Hand Sword" and "One Hand Axe" BaseType The base type of the item. Specifying a part of a base type name is allowed and will match any of the base types with that text in the name. Sockets Total number of sockets that the item has. LinkedSockets The size of the largest group of linked sockets that the item has. SocketGroup A group of linked sockets that contains the specified combination. For example, RRG will match any group that contains two red sockets linked with a green socket. Height The height of the item in your inventory Width The width of the item in your inventory Identified If an item is identified or not Corrupted If an item is corrupted or not (Added in 2.5.0)

Modifying How Items Are Shown

The item filter system also gives you the ability to modify how items are displayed.

For example, say you want to show gems that have quality with a blue border. You could do that with the BorderColor attribute as shown here:

Show

Class Gem

Quality > 0

SetBorderColor 128 128 255



Or let's say you want to show Exalts with Purple text for some reason. You could do that with the TextColor attribute as shown here:

Show

BaseType "Exalted Orb"

SetTextColor 255 0 255



You can also set the background colour:

Show

LinkedSockets >= 5

SetBackgroundColor 0 128 0



The three numbers used to specify a colour are the Red, Blue and Green components of the colour where 255 is the highest value. An optional fourth parameter can be provided to specify the transparency, this also ranges from 0 to 255 where 0 is completely see-through and 255 is completely opaque.

You can also have an alert sound play with PlayAlertSound. There are 9 alert sounds that can be chosen from by specifying a number. The volume of the alert sound can be adjusted with an optional second parameter, ranging from 0 to 100. The following will play alert sound 1 at 50% volume when at item with 6 linked sockets drops:

Show

LinkedSockets 6

PlayAlertSound 1 50



We've made our currency stand out more by adding a border and increasing the size of the font using SetFontSize:

Show

Class "Currency"

SetBorderColor 200 200 100

SetFontSize 40



Items can be shown based on their size by checking Width and Height. In this example, all other 1x1 items are set to appear small and transparent using SetFontSize and lowering the fourth colour value. We'll hide the rest of the items by adding a "Hide" block to the end of our file.

Show

Width 1

Height 1

SetFontSize 1

SetBackgroundColor 50 50 50 100

SetTextColor 200 200 200 200



Hide



Any or all of these attributes can be added to any Show block to allow complete customisation of how items hovers are shown in the world.

An example with an item filter that applies some of the colour changes described above

For a great guide on how to create Item Filters, click here!