Original Post — Direct link
over 4 years ago - /u/RhysGGG - Direct link

Originally posted by NeverSinkDev

Thoughts:

  • CorruptedMods, Mirrored, Socket changes will add a lot of QOL to the state of the filters.

  • AreaLevel is huge. It's much more reliable than droplevel and allows highlighting currencies and gems, only while leveling. Things like starter-gems will never be hidden again, no matter the strictness.

  • Continue is a gamechanger, when it comes to filter-making. It adds nothing new, but makes things much more elegant and allows more control for custom styles, aspects and advanced constructs. FilterBlade will benefit from it greatly as well!

  • In short I'm excited for these changes (especially since I've been suggesting/asking those). Most of these are rather easy to integrate into my filters and will find their uses!

  • You'll likely see use of all of these commands in 3.10. "Continue" is a tricky one to bring to www.FilterBlade.xyz , but I think that'll work out as well.

Thanks GGG.

Speculations for 3.10:

  • The linkedsockets rework is a bit surprising. It's probably preparation for 4.0, but chances are we'll see more delve socket or abyssal socket action in 3.10.

  • "AnyEnchantment" now only recognises Labyrinth enchantments... that's surprising. That likely means there's either going to be enchantment relevant changes in 3.10. Maybe new enchantment types that have an alternative source or are droponly, because otherwise, you can just filter by slot.

Thank you for your detailed suggestions! Sorry I couldn't implement everything you wanted, but hopefully there's enough here to keep you busy for a little while.

The linked sockets rework was mostly QoL but was also necessary to support multiple Abyss/Delve socket matching, i.e. "Sockets AA" and "Sockets DDDD" which couldn't work with SocketGroup since Abyss/Delve sockets are not linked.

(also, for anyone reading this still wondering what Delve sockets are, it just means Resonators)

over 4 years ago - /u/RhysGGG - Direct link

Originally posted by StupidFatHobbit

please more light options please more light options please more light options

...f**k

AreaLevel changes everything though. One of the main reasons for having separate filters is because you can't distinguish area levels. Now you can have wisdoms showing at low level, but not high level, in the same filter. There's a ton that can be done with that command alone and it's possible that I could eliminate a strictness level and go down to 2 filters from 3. At the very least a lot of the override blocks will be reduced or removed.

Mirrored is nice, especially for chance bases. Sockets finally recognizing Abyss sockets is also neat.

edit:

SocketGroup "X": Groups of linked sockets on an item, for example "RGB". Can have multiple SocketGroup requirements within one filter, for example 'SocketGroup "RGB" "BB"' would filter for any option in that line rather than all options in that line.

Not sure what's changing here, SocketGroup could already filter for multiple options in one line - it's how my levelling section has been written for over a year now.

SocketGroup could already filter for multiple options in one line - it's how my levelling section has been written for over a year now.

Ah, you're right. This isn't new.

about 4 years ago - /u/RhysGGG - Direct link

Originally posted by Abdiel_Kavash

The "continue" option does almost everything that my massive preprocessor built on top of your filter language ever tried to achieve, many thanks for that! I think I'll switch to using native filters again once this goes live. (I am using a LOT of disjunctive conditions that previously weren't possible to do natively).

If I may be so bold as to ask for one more thing; it would be variables/macros, even on a purely textual substitution basis. Just one example of what I mean and what this would be useful for:

Define $GoodCurrencyColor 255 240 160

Show
    BaseType "Exalted Orb"
    PlayAlertSoundPositional ShExalted
    SetTextColor $GoodCurrencyColor

Show
    BaseType "Divine Orb"
    PlayAlertSoundPositional ShDivine
    SetTextColor $GoodCurrencyColor

Show
    BaseType "Chaos Orb"
    PlayAlertSoundPositional ShChaos
    SetTextColor $GoodCurrencyColor

This would be good for both good coding practices (don't repeat yourself), also for making changes to your filter later. For example, in my scripting language, I have a macro that contains all the bases that I'm looking for at the moment. I can simply add or remove a base to that macro, and the rest of the script makes sure the items are shown, sized, and styled properly according to rarity, sockets, level, etc. Although this degree of automation would probably still require abusing the "continue" rule maybe too much, if we were given even purely string replacement macros, I believe it would be possible, or close to.

Thanks for the suggestion. I'll have a think about it and see what we can do.