Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is:dupe composes poorly with other filters #9906

Open
robojumper opened this issue Sep 23, 2023 · 0 comments
Open

is:dupe composes poorly with other filters #9906

robojumper opened this issue Sep 23, 2023 · 0 comments

Comments

@robojumper
Copy link
Member

robojumper commented Sep 23, 2023

This issue may not be fixable without a major rework of the query system and as such might not be actionable, but I do want to track the shortcomings of is:dupe and the potential use cases for a more powerful is:dupe somewhere.

While most filters look at items in a vacuum and can thus be composed with boolean logic, is:dupe looks at your whole inventory and further composition only happens after is:dupe has seen your entire inventory. There are a bunch of ways in which users unsuccessfully try to compose is:dupe:

Create strictly more restrictive dupe groups

Create entirely new dupe groups

  • Listing this just for completeness, but some people would use something like "find all weapons of the same type, archetype and element". This is probably better handled by a dedicated solution like Weapon Type + Burn matrix #7790.

(1) Find all items not matching predicate X where there are dupes matching X / (2) find all items where one of the dupes matches X

We have special filters for some of these, but have declined adding a ton more because it'd get out of hand.
An interesting observation is that most of our special filters match all items where at least one of the dupes matches X, but for some of these arguably the more useful matching behavior would be matching items only if there are also items where the predicate doesn't match

  • is:dupelower (1, X here is "highest power copy of the item")
  • is:crafteddupe (2, X here is is:crafted)
  • is:wishlistdupe (2, X here is is:wishlist)
  • Find not-favorited items where a dupe is favorited (1, X would be tag:favorite)
  • Find ALL copies of dupes where one dupe is tagged "Infuse" (2, X would be tag:infuse)

Hide some items from dupe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant