extesy / DeckTracker

Universal Deck Tracker for collectible card games such as The Elder Scrolls: Legends and Eternal
Other
96 stars 26 forks source link

[FReq] User-generated deck archetypes #161

Closed apoapostolov closed 6 years ago

apoapostolov commented 6 years ago

It is possible for DeckTracker to expose to users to define their own deck archetypes so they get very accurate descriptions inside the overlay? This could become a side-project for dedicated players to maintain a list on github that the app downloads on each launch.

The way I have imagined it, it could work like this:

All archetypes are stored in a text file format and consist of the following elements:

I would love to discuss this feature more before set as enhancement, to improve the methodology. Thanks in advance!

extesy commented 6 years ago

@apoapostolov It's already in the FAQ:

  • How to change detected deck archetypes or add new ones?

Create or update C:\Users{profile}\AppData\Local\UniversalDeckTracker\decktypes.txt file. If you like your changes, please contribute back to the community by sending a pull request.

Default archetypes: https://github.com/extesy/DeckTracker/blob/master/DeckTracker.Common/decktypes.txt

apoapostolov commented 6 years ago

This is great, I wasn't aware this was already covered in such depth.

The only thing I see missing here is the ability to merge several archetypes by combining their names. I think this is a very powerful feature, since typically the name of archetypes is a combination of several aspects, defined by color, by enough cards of a specific combo/type/rule/keyword, etc.

I would also see Cards.NotContains for a blacklist functionality.

Let me know if it is best to close this issue and open a focused one on new decktypes.txt commands.

extesy commented 6 years ago

The expression after the last | is a regular C# expression so it supports everything C# supports. Syntax for NotContains in C#: !Cards.Contains(...), etc.

extesy commented 6 years ago

Merging of artifacts is not supported because of a few reasons: 1) With many matches it's not possible to display in UI-friendly way, 2) It's hard to define a syntax for this: when to merge, when to not merge, etc.

apoapostolov commented 6 years ago

Okay that makes sense. Thanks for the explanation.