What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[OLD] Item Filter Editor Guide

pushedx

Well-Known Member
Joined
Sep 24, 2013
Messages
4,252
Reaction score
290
This guide will cover the updated Item Filter Editor.

Please read everything and try to get your filters working on your own before asking for help making filters. Making custom filters for users will not be a high priority now that there is this guide. If anything is unclear or we need more examples, we certainly will add them, but we will not do your work for you if you feel it's too complicated or don't want to mess with it.

The default item filter will be located in the path "Settings\Item Filters\StaticItemFilter.json". The file uses a JSON format.

Important: As of 1.2 the affix stat system in Path of Exile has changed. Implicit and Explicit affixes are now merged, so there is no longer any way to process the data like previously possible. This means any affix filtering will be inaccurate if you're relying on Implicit or Explicit values being a certain value. In essence, users now need to filter by TotalStat instead, as ImplicitStat and ExplicitStat now TotalStat in the game itself. ImplicitStat and ExplicitStat have not been removed as tokens though, so users don't have to redo filters.

Opening the Item Filter:

1. Click on the "Tools" tab to change the gui panel to the tools panel.

2. Click on the "Item Filter Editor" button to launch the gui.


Main Overview:
gEkEyrw.png
The left most panel named "Categories & Filters" contains the filters for each category supported. From this panel you can select Categories or Filters to work with.

The right most panel named "Settings" will display a gui for editing filters or categories depending on what is selected.

At any time, you can click on "Save" to save the current filter and categories or "Save As" to save it under a different name for your current character.
Categories & Filters Overview:
When a Category is selected, the right panel will look like this:
3pDVvHC.png

There are 4 main types of Categories implemented:
  • Pickup - An item that matches these filters will be looted.
  • DoNotSell - An item that matches these filters will never be sold. These filters are what the old Stash filters were meant to be.
  • Sell - An item that matches these filters will be vendored if and only if it does not match any DoNotSell filters.
  • Id- An item that matches these filters will be identified.

From the Settings panel you can change the Description if needed or the actual Category type. You can click on the "Save Category" button to save the category.

If you right click inside the "Categories & Filters" panel when a Category is selected, you'll be able to:
  • Add a new category by clicking on "Add Category...".
  • Delete the selected category by clicking on "Delete Category".
  • Add a new filter to the category by clicking on "Add Filter...".
zmiyTJb.png

When a Filter is selected, the right panel will look like this:

From the Settings panel you can change the various settings of the filter.

If you right click inside the "Categories & Filters" panel when a Filter is selected, you'll be able to:
  • Delete the selected filter by clicking on "Delete Filter".
  • Enable the selected filter by clicking on "Enable Filter".
  • Disable the selected filter by clicking on "Disable Filter". Disabled filters appear with a red background.

Settings Overview:
Description - The description for the filter.
You can change this as needed to make your filters easily identifiable.


Names and Types - Settings for filtering by name or type.
To filter by name or type, please refer to the current BaseItemTypes file linked on the Exilebuddy (SotV) Release/Beta Revision Guide. This file typically changes every few weeks, so in order to stay up to date, please check for updates. The version linked in this guide is for client version 1.1.2.1.

Filtering is done by partial string matches. When "Regex" is checked, the names/types will be matched using Regex. When Regex is unchecked or in the indeterminate state (square or X depending on your theme), Regex matching is not done (which is the default behavior). Regex is an advanced feature added for power users who know how to use it already, so it won't be covered much.

"Match Any" is a way for users to match any of the items they specify. By default, it is in the "indeterminate state", which for this setting is the same as placing a checkmark in the box. The reason why there are two settings that mean the same thing is as follows: rather than having to have every setting in your filter with a correct value, we can ignore settings that have "no value". When a checkbox is in the "indeterminate state", it has "no value", so it's not adding useless default values your filters.

When "Match Any" is unchecked, the filter matching process changes to not match anything listed in the name/type box. For example, let's say you want to pickup all currency items except "Scroll of Wisdom". Rather than having to type the names of all currency except Scroll of Wisdom and leaving "Match Any" in the indeterminate state (or checked), a user could only enter the name "Scroll of Wisdom", and uncheck "Match Any". Assuming the Rarity has been set to currency, the bot would then pickup all currency that did not match the name "Scroll of Wisdom".

Filtering by name:
ct0esbs.png


If you want to filter specific items, you'd enter their item name. As long as the name does not overlap with any other name, you will only get one match. You can also filter by partial name matches to cover more item types, but no all item types follow the same naming convention. For example, if you were to enter "Ring", you'd match all rings, as well as any other item that had ring in it's name, so things like "Ringmail" for example. That is why you'd use the type matching instead.

One last note, the names listed on base item types are the only names you can use. You cannot filter by unique name, because the matching is for the actual item name and not the "full name". Through the current filter setup, you could not identify all unique "Occultist's Vestment" and then vendor "Infernal Mantle", as it's only checking the base item name.

Filtering by type:
T8K8ZMz.png


If you want to filter by all belt types for example, you'd enter "/Belts/" because that is a partial string that matches all belt types, and doesn't conflict with anything else. You could also have used "Metadata/Items/Belts/". If you wanted to filter by all ring types, you'd use "/Rings/". Let's say you wanted to filter all Str shields, which would be "/ShieldStr". The problem then is that the string would also match Str/Dex shields which contain that string in their name: "Metadata/Items/Armours/Shields/ShieldStrDex1". To solve this, you can use regex instead to make a filter that matches "ShieldStr" followed by only a number.

If no type or names are entered, this filter setting is not processed.

Rarities - Settings for filtering by item rarity.
To filter by item variety, simply place a check mark in the desired rarities. If an item doesn't contain any rarities you have specified, then it cannot match a filter.

For example, if you make a Pickup Filter for Normal, Rare, and Unique rarities, a Normal rarity item would match, a Rare rarity item would match, and a Unique rarity item would match. A Magic rarity, a Quest rarity item, a Skill Gem rarity item, and a Currency rarity item would not.



If no rarities are checked, this filter setting is not processed.

Socket Colors - Settings for filtering by socket colors.
The filter system supports advanced socket color filtering, but it's not exposed through this gui. The main use for this filter is to be able to identify chromatic items. Trying to do any other socket color filtering is pointless since you can just roll an items colors with Chromatics until you get what you need.

When a color pattern is specified, the filter will match all combinations of the colors. "R-G-B" means a Red socket linked with a Green socket linked with a Blue socket, but the order does not matter. If you were to use the string "R G B" instead, it would match any item that had a Red socket, Green socket, as well as a Blue socket. We do support white sockets, but they can only be obtained through corrupted items (which can't be changed) or an unique, so there's no real reason to filter for them.

6HfAcTS.png


When no values are entered, this filter setting is not processed.

Socket Count - Settings for filtering by socket count.
This filter setting can be used to filter by the total number of sockets an item has. The main use of this filter is to pickup 6 socket items. Most people don't use it for anything else.

z0ffqcB.png


When no values are entered, this filter setting is not checked.

Links - Settings for filtering by socket links.
This filter setting can be used to filter by the total number of links an item has. The main use of this filter is to pickup 5+ linked items. Most people don't use it for anything else, as 4 linked items are pretty common.

WbKBXej.png


When no values are entered, this filter setting is not checked.

Item Size - Settings for filtering by item size.
This filter setting can be used to filter by the item size. It has no real purpose other than being able to simplify picking up 4 linked 2x2 objects without having to specify helm, boots, and glove types. It can also be used to only pickup "thin" 1H magic items for alt farming, but nowadays it's not even worth it.

JhO6DCw.png


When no values are entered, this filter setting is not checked.

Item Level - Settings for filtering by item level.
This filter setting can be used to limit items to a range of item levels. For example, you might only want to pickup ilvl 70+ of certain white items. This setting will allow you to do that.

The values are inclusive, so if you specify a maximum of 60, then ilvl 60 items would match.

2y9qWjK.png


When no values are entered, this filter setting is not processed.

Quality - Settings for filtering by item quality.
This filter setting can be used to filter items with quality. For example, if you wanted to pickup all quality skill gems, you could specify a minimal quality of 1 to match any item that had at least 1 quality. Max quality is mostly used to limit items to no quality. For example, if you wanted to pickup uncommon skill gems that didn't have any quality, Max Quality would be 0 so you didn't overlap with quality items.

5RDna6m.png


When no values are entered, this filter setting is not processed.

Affixes - Settings for filtering by item stats.
This filter setting allows users to filter items based on the mod stats they have. This is a new advanced feature, so please report any bugs with it if something doesn't work the way you think it should.

The affix filtering is done through the Stat system. For the latest version of the Stats, please see the Exilebuddy (SotV) Release/Beta Revision Guide. Stats are updated quite frequently, so check back often. The linked stats file for this guide is for 1.1.2.1.

An affix filter is made up of several tokens. Everything is case-sensitive and spaces are used as delimiters.

First, a few examples:
  • TotalStat BaseMaximumLife Value > 30 Required
  • ExplicitStat AdditionalDexterity Required
  • ExplicitStat LocalMinimumAddedPhysicalDamage Optional Group 1

The first token is the category. This setting may be the values "ExplicitStat", "ImplicitStat", or "TotalStat".
  • ExplicitStat - Match the stat from the item's explicit stats.
  • ImplicitStat - Match the stat from the item's implicit stats.
  • TotalStat - Match the stat from the item's merged stats (implicit + explicit).

The second token is the actual StatType. These values can be found from the linked Stats document above. You can use the "Inventory Explorer" tool to find the stats of common mods that you need from existing items. We'll keep a post of commonly used stats as well for users to refer to. In addition, you can use the official Prefix Mod and Suffix Mod to find the Stats. However, the format is slightly different; spaces are removed and special characters are converted. For example, "Attack Speed +%" would be "AttackSpeedPosPct".

If you wish to check the stat's value compared to some value, you should use "Value" for the third token. The forth token has to be the operation to perform, which can be any of the following: "<", ">", "<=", ">=", "!=", "=". The fifth token should be the integer value to check against.

If you do not care about the stat's value, and only wish to check for presence of the stat, then you can skip those 3 tokens.

If the item has to have the stat you are checking, then you should add the "Required" token last. If you do not specify Required, then the stat will be part of the optional default group (which has an id of -1).

If you want the stat to be optional, but in its own group, you can place the "Optional " token followed by a "Group" token that is then followed by the actual group number. Groups allow you to match at least one stat from many. For example, if you wanted an item that had +Str or +Dex or +Int, you could use an Optional Group which would require the filter to match at least one of them to pass.

A filter that does not have at least one match in all groups will fail.
"Required" filters do not use the "Group" token!
The default "Group" is -1. You may use any other int value for your group numbers.
You make use "=" or "==" and "!=" or "<>"

Here's a list of all possible format combinations for a valid affix filter:
  • ExplicitStat BaseMaximumLife - Checks for the existence of BaseMaximumLife, but is optional in the default group (filter requires at least one match from an optional group).
  • ExplicitStat BaseMaximumLife Required - Checks for the existence of BaseMaximumLife, and is required. If the item does not have this stat, it would not match.
  • ExplicitStat BaseMaximumLife Optional - Checks for the existence of BaseMaximumLife, but is optional in the default group (filter requires at least one match from an optional group).
  • ExplicitStat BaseMaximumLife Optional Group 1 - Checks for the existence of BaseMaximumLife, but is optional in Group 1 (filter requires at least one match from an optional group).
  • ExplicitStat BaseMaximumLife Value > 20 - Checks to see if the item has a stat value of more than 20, but is optional in the default group (filter requires at least one match from an optional group).
  • ExplicitStat BaseMaximumLife Value > 20 Required - Checks to see if the item has a stat value of more than 20, and is required. If the item does not have this stat, it would not match.
  • ExplicitStat BaseMaximumLife Value > 20 Optional - Checks to see if the item has a stat value of more than 20, but is optional in the default group (filter requires at least one match from an optional group).
  • ExplicitStat BaseMaximumLife Value > 20 Optional Group 1 - Checks to see if the item has a stat value of more than 20, but is optional in Group 1 (filter requires at least one match from an optional group).

F9Y9Cg7.png


When no values are entered, this filter setting is not processed.

Identified - Settings for filtering by item identification.
This filter setting can be used to filter items based on if they are identified or not. This is useful for when you want to sell identified rares for example.

OxrGbsu.png


When the checkbox is in the "indeterminate state" (default), this setting is not processed.
If the checkbox is checked, the item has to be identified.
If the checkbox is unchecked, the item has to be unidentified.
Misc:
This section will contain additions based on user feedback.
 
Last edited:
Reserved.

If anything is unclear or if anything needs more examples, please post and this guide will be updated.
 
Last edited:
does this change mean that when they add new gems, we have to manually add them to the list of gems to pick up since it's no longer an exclusion list?
 
Any chance you can give an example of

Affixes
Impregnable 77 Physical Damage Reduction Rating +% 20 to 22
Carapaced 73 Local Base Physical Damage Reduction Rating 323 to 400

Prefixes
of the Assassin 76 Accuracy Rating 321 to 400
Girded 72 Local Physical Damage Reduction Rating +% 101 to 120

so i can get an understanding of how to do prefixes and affixes and also percentages and base value then i will compile a pickup and stash file for rares dependant on itemlevel so it will only stash the best items at that item level or maybe the 2 best
 
ExplicitStat LocalPhysicalDamagePosPct Required Value > 70
ExplicitStat LocalAttackSpeedPosPct Optional Group 1
ExplicitStat LocalMinimumAddedPhysicalDamage Optional Group 1

So, if I've understood correctly this would match a weapon with + phys dmg % and one of the other two affixes?
If so, I guess the best way of making it match any two out of these three affixes for a decent phys weapon is two additional filters like this with 1 required and two optional in a group, and switch the affixes around from required to Optional Group 1. No?
 
Last edited:
does this change mean that when they add new gems, we have to manually add them to the list of gems to pick up since it's no longer an exclusion list?

If you use the default filters, and maintain them yourself, yes. If you use the default filter generated by the bot, we'll update the list each update. The filter is auto-generated from static data added to the bot in LokiPoe.

Otherwise, you make a new exclusion filter, or I'll just add a default exclusion filter again in the disabled state so people can enable it and change it as needed. There were too many people still confused by it and only wanting to pickup certain skill gems that it warranted a default change.

Any chance you can give an example of

Affixes
Impregnable 77 Physical Damage Reduction Rating +% 20 to 22
Carapaced 73 Local Base Physical Damage Reduction Rating 323 to 400

Prefixes
of the Assassin 76 Accuracy Rating 321 to 400
Girded 72 Local Physical Damage Reduction Rating +% 101 to 120

so i can get an understanding of how to do prefixes and affixes and also percentages and base value then i will compile a pickup and stash file for rares dependant on itemlevel so it will only stash the best items at that item level or maybe the 2 best

Physical Damage Reduction Rating +% => PhysicalDamageReductionRatingPosPct
Local Physical Damage Reduction Rating +% => LocalPhysicalDamageReductionRatingPosPct
Accuracy Rating => AccuracyRating
Local Physical Damage Reduction Rating +% => LocalPhysicalDamageReductionRatingPosPct

ExplicitStat PhysicalDamageReductionRatingPosPct Value >= 20 Required
ExplicitStat LocalPhysicalDamageReductionRatingPosPct Value >= 101 Required
ExplicitStat AccuracyRating Value >= 321 Required
ExplicitStat LocalPhysicalDamageReductionRatingPosPct Value >= 101 Required

That would require all of those stats with the specified values.

If you can find an item that had any of those, you should be able to test pickup pretty easily out of town with a pick filter and disabling the others (it's how I tested the system).

If you were to filter by that stat having a certain value, you'd catch items with at least that affix (not taking into account double rolls, in which case, there's nothing you can really do to change false positives).

ExplicitStat LocalPhysicalDamagePosPct Required Value > 70
ExplicitStat LocalAttackSpeedPosPct Optional Group 1
ExplicitStat LocalMinimumAddedPhysicalDamage Optional Group 1

So, if I've understood correctly this would match a weapon with + phys dmg % and one of the other two affixes?
If so, I guess the best way of making it match any two out of these three affixes for a decent phys weapon is two additional filters like this with 1 required and two optional in a group, and switch the affixes around from required to Optional Group 1. No?

Correct on both parts. You might want to find a good item and play with it to test it out to make sure it's working like you think it should. I just test with pick filters since that's pretty easy (as you don't want to test with Sell filters).

I think most users will end up just checking for the presence of affixes, then review all items kept themselves. This should be a large improvement over what was there before, which required users to check every item. While it's not the end goal in terms of providing full support for everything, it's progress for now!
 
So if i want it to pick up an item with any of those stats do i set it as optional?
 
Dmg Base Min Added Cold Dmg / Base Max Added Cold Dmg 12 to 16 / 24 to 28 12 28 Glaciated 60
How do we go about adding things like this do i do one entry for minimum value and one for maximum value ?
 
Last edited:
If you check the stats for that affix:

(Two Handed Melee Elemental Damage)
Glaciated 52
Local Minimum Added Cold Damage 29 to 39
Local Maximum Added Cold Damage 58 to 68

(Bow and One Handed Elemental Damage)
Glaciated 52
Local Minimum Added Cold Damage 19 to 25
Local Maximum Added Cold Damage 39 to 45

(Damage)
Glaciated 53
Attack Minimum Added Cold Damage 12 to 16
Attack Maximum Added Cold Damage 24 to 28

You'd check LocalMinimumAddedColdDamage on the first line for minimal damage, and LocalMaximumAddedColdDamage on the second line.

Notice the Damage variant uses a different stat, so you'd have to also check for those different ones as well.

A filter like this, would check the minimal coverage for having either of those minimal mods:
Code:
ExplicitStat LocalMinimumAddedColdDamage Value >= 19 Optional Group 1
ExplicitStat AttackMinimumAddedColdDamage Value >= 12 Optional Group 1

If you wanted to the the max ranges too, you'd just use the other stat with updated values in a second group.

There will be natural overlap from other mods that grant the same stat, but that's just how the stat system works. Being able to filter by "Bow and One Handed Elemental Damage" and then "Glaciated". ignoring the values is possible through code, but not supported in the current static item filter.
 
ok cool i think i got an understanding on how everything works time to make a google spreadsheet :)
 
ExplicitStat AccuracyRating Value >= 251 Optional
ExplicitStat LocalAccuracyRating Value >= 251 Optional
ExplicitStat LocalAttackSpeedPosPct Value >= 23 Optional
ExplicitStat AdditionalAllAttributes Value >= 25 Optional
ExplicitStat AdditionalDexterity Value >= 38 Optional
ExplicitStat AdditionalIntelligence Value >= 38 Optional
ExplicitStat AdditionalStrength Value >= 38 Optional
ExplicitStat BaseCastSpeedPosPct Value >= 17 Optional
ExplicitStat BaseCriticalStrikeMultiplierPosPct Value >= 30 Optional
ExplicitStat CriticalStrikeChancePosPct Value >= 30 Optional
ExplicitStat LocalCriticalStrikeChancePosPct Value >= 30 Optional
ExplicitStat SpellCriticalStrikeChancePosPct Value >= 80 Optional
ExplicitStat ColdDamagePosPct Value >= 23 Optional
ExplicitStat FireDamagePosPct Value >= 23 Optional
ExplicitStat LightningDamagePosPct Value >= 23 Optional
ExplicitStat BaseItemFoundRarityPosPct Value >= 15 Optional
ExplicitStat BaseLifeGainPerTarget Value >= 5 Optional
ExplicitStat LifeGainedOnEnemyDeath Value >= 8 Optional
ExplicitStat BaseLifeRegenerationRatePerMinute Value >= 301 Optional
ExplicitStat ManaGainedOnEnemyDeath Value >= 4 Optional
ExplicitStat ManaRegenerationRatePosPct Value >= 50 Optional
ExplicitStat BaseProjectileSpeedPosPct Value >= 34 Optional
ExplicitStat LocalAttributeRequirementsPosPct Value >= -32 Optional
ExplicitStat BaseChaosDamageResistancePct Value >= 26 Optional
ExplicitStat BaseColdDamageResistancePct Value >= 36 Optional
ExplicitStat BaseFireDamageResistancePct Value >= 36 Optional
ExplicitStat BaseLightningDamageResistancePct Value >= 36 Optional
ExplicitStat BaseResistAllElementsPct Value >= 15 Optional
ExplicitStat LocalAdditionalBlockChancePct Value >= 4 Optional
ExplicitStat BaseStunDurationPosPct Value >= 31 Optional
ExplicitStat BaseStunThresholdReductionPosPct Value >= 14 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 23 Optional
ExplicitStat BasePhysicalDamageReductionRating Value >= 139 Optional
ExplicitStat LocalBasePhysicalDamageReductionRating Value >= 139 Optional
ExplicitStat LocalPhysicalDamageReductionRatingPosPct Value >= 83 Optional
ExplicitStat PhysicalDamageReductionRatingPosPct Value >= 17 Optional
ExplicitStat LocalPhysicalDamageReductionRatingPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 14 Optional
ExplicitStat LocalMinimumAddedColdDamage Value >= 23 Optional
ExplicitStat LocalMaximumAddedColdDamage Value >= 46 Optional
ExplicitStat LocalMinimumAddedFireDamage Value >= 26 Optional
ExplicitStat LocalMaximumAddedFireDamage Value >= 52 Optional
ExplicitStat LocalMinimumAddedLightningDamage Value >= 5 Optional
ExplicitStat LocalMaximumAddedLightningDamage Value >= 93 Optional
ExplicitStat AttackMinimumAddedColdDamage Value >= 12 Optional
ExplicitStat AttackMaximumAddedColdDamage Value >= 24 Optional
ExplicitStat AttackMinimumAddedFireDamage Value >= 16 Optional
ExplicitStat AttackMaximumAddedFireDamage Value >= 32 Optional
ExplicitStat AttackMinimumAddedLightningDamage Value >= 3 Optional
ExplicitStat AttackMaximumAddedLightningDamage Value >= 57 Optional
ExplicitStat AttackMinimumAddedPhysicalDamage Value >= 9 Optional
ExplicitStat AttackMaximumAddedPhysicalDamage Value >= 19 Optional
ExplicitStat LocalMinimumAddedPhysicalDamage Value >= 16 Optional
ExplicitStat LocalMaximumAddedPhysicalDamage Value >= 33 Optional
ExplicitStat MinimumPhysicalDamageToReturnToMeleeAttacker Value >= 25 Optional
ExplicitStat LocalPhysicalDamagePosPct Value >= 130 Optional
ExplicitStat LocalPhysicalDamagePosPct Value >= 65 Optional
ExplicitStat LocalAccuracyRating Value >= 83 Optional
ExplicitStat BaseMaximumEnergyShield Value >= 38 Optional
ExplicitStat LocalEnergyShield Value >= 107 Optional
ExplicitStat LocalEnergyShieldPosPct Value >= 83 Optional
ExplicitStat MaximumEnergyShieldPosPct Value >= 17 Optional
ExplicitStat LocalEnergyShieldPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 24 Optional
ExplicitStat BaseEvasionRating Value >= 81 Optional
ExplicitStat EvasionRatingPosPct Value >= 14 Optional
ExplicitStat LocalBaseEvasionRating Value >= 139 Optional
ExplicitStat LocalEvasionRatingPosPct Value >= 83 Optional
ExplicitStat LocalEvasionRatingPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 14 Optional
ExplicitStat LocalSocketedBowGemLevelPos Value >= 2 Optional
ExplicitStat LocalSocketedColdGemLevelPos Value >= 2 Optional
ExplicitStat LocalSocketedFireGemLevelPos Value >= 2 Optional
ExplicitStat LocalSocketedGemLevelPos Value >= 1 Optional
ExplicitStat LocalSocketedLightningGemLevelPos Value >= 2 Optional
ExplicitStat LocalSocketedMeleeGemLevelPos Value >= 2 Optional
ExplicitStat LocalSocketedMinionGemLevelPos Value >= 2 Optional
ExplicitStat LocalArmourAndEnergyShieldPosPct Value >= 83 Optional
ExplicitStat LocalArmourAndEvasionPosPct Value >= 83 Optional
ExplicitStat LocalArmourAndEvasionAndEnergyShieldPosPct Value >= 83 Optional
ExplicitStat LocalEvasionAndEnergyShieldPosPct Value >= 83 Optional
ExplicitStat LocalArmourAndEnergyShieldPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 14 Optional
ExplicitStat LocalArmourAndEvasionPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 14 Optional
ExplicitStat LocalArmourAndEvasionAndEnergyShieldPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 14 Optional
ExplicitStat LocalEvasionAndEnergyShieldPosPct Value >= 42 Optional
ExplicitStat BaseStunRecoveryPosPct Value >= 14 Optional
ExplicitStat BaseItemFoundRarityPosPct Value >= 19 Optional
ExplicitStat BaseMaximumLife Value >= 90 Optional
ExplicitStat LifeLeechFromPhysicalDamagePct Value >= 3 Optional
ExplicitStat BaseMaximumMana Value >= 60 Optional
ExplicitStat ManaLeechFromPhysicalDamagePct Value >= 1 Optional
ExplicitStat BaseMovementVelocityPosPct Value >= 30 Optional
ExplicitStat SpellDamagePosPct Value >= 30 Optional
ExplicitStat BaseMaximumMana Value >= 23 Optional
ExplicitStat SpellDamagePosPct Value >= 60 Optional
ExplicitStat SpellDamagePosPct Value >= 18 Optional
ExplicitStat SpellDamagePosPct Value >= 90 Optional
ExplicitStat SpellDamagePosPct Value >= 45 Optional
ExplicitStat BaseMaximumMana Value >= 23 Optional
ExplicitStat LocalMinimumAddedPhysicalDamage Value >= 24 Optional
ExplicitStat LocalMaximumAddedPhysicalDamage Value >= 49 Optional
ExplicitStat LocalMinimumAddedColdDamage Value >= 35 Optional
ExplicitStat LocalMaximumAddedColdDamage Value >= 70 Optional
ExplicitStat LocalMinimumAddedFireDamage Value >= 39 Optional
ExplicitStat LocalMaximumAddedFireDamage Value >= 79 Optional
ExplicitStat LocalMinimumAddedLightningDamage Value >= 7 Optional
ExplicitStat LocalMaximumAddedLightningDamage Value >= 140 Optional
ExplicitStat WeaponElementalDamagePosPct Value >= 21 Optional


These are all the ILVL60+ or Top Tier Stat brackets available before maps copy this into your affixes and if one stat in the item matches it will stash it.
 
Last edited:
Angully, first replace => with >=, then move "value" to before the >=.
After that you have to look up the exact affix that you want to look for and when you find it that the spelling matches the stats list exactly. For example, "LocalPhysicalDmgPosPct" should be "LocalPhysicalDamagePosPct".
After going through and matching every stat in your list and changing it to the exact version you want in the stat list it should work.
 
ok i changed that around now i just need to match all of the names :(

EDIT: I remade the list from the official POE site instead of the spreadsheet i was using and it seems that all of the text matches up now i just need to format it all :P

Edit 2. List is done ^^

If there is anything on the list that you think should be removed give me your reasoning and ill take it down
 
Last edited:
PushedX I dont quite understand the grouping is it possible to do something like this

ExplicitStat BaseMovementVelocityPosPct Value >= 20 Required
ExplicitStat LocalEnergyShield Value >= 30 Required
ExplicitStat LocalEnergyShieldPosPct Value >= 83 Required Group 1
ExplicitStat MaximumEnergyShieldPosPct Value >= 14 Required Group 1

Does that mean only one of the stats in Group 1 is is required all will all be required ?

Edit: Ignore this question i gave the guide another read and now i understand how the grouping works :)
 
Last edited:
Does removing a gem from the non-quality skill gems also stop the bot from picking up the same but in quality? curious because i dont see any match case in the quality skill part. Or will it still pick up quality gems even if i deleted all of the non-quality gems for pickup?
 
Does removing a gem from the non-quality skill gems also stop the bot from picking up the same but in quality? curious because i dont see any match case in the quality skill part. Or will it still pick up quality gems even if i deleted all of the non-quality gems for pickup?

No, the "All quality skill gems" is a blanket filter for any Skill Gem that has at least 1 quality on it. The default filter will pickup any quality skill gem.

The "These non-quality skill gems" filter will only pickup non-quality skill gems whose names are listed under Names and Types. If the Skill Gem has quality, it'll never be matched.
 
No, the "All quality skill gems" is a blanket filter for any Skill Gem that has at least 1 quality on it. The default filter will pickup any quality skill gem.

The "These non-quality skill gems" filter will only pickup non-quality skill gems whose names are listed under Names and Types. If the Skill Gem has quality, it'll never be matched.

let me just make sure i have this right

the gems in the non quality section, can NEVER be defined as a quality gem.

while the gems in the quality section, are ONLY quality gems

Sorry, if I am just obliterating a dead horse.

BUT. I also noticed that the do not sell filter includes a gem section. although it is blanketed for not selling all gems?

This means that if I wanted to pick up all gems, but i also wanted to sell a select few, I wouldnt have that option? because the "do not sell" filter would be the exact opposite, adding names to it would mean it would just keep them, even though it already did.

My choice of options are for not keeping gems: If i understand this correctly

OPTION 1
delete the gems i dont want to keep in the non quality filter
OPTION 2
Create my own filter for selling gems? Not sure how this would react to the keep all gems filter already created as a default
 
Back
Top