Card-Forge / Card-Forge/forge

Proliferating Should Start with a Default Selection of Targets

Open
#7,123 3 comments 0 reactions 0 assignees View on GitHub
GUI keep Low priority
Dominant language
Java
Stars
2.7k
Forks
1.1k
Avg merge
1d 1h
Merged PRs (30d)
158

Description

**Is your feature request related to a problem? Please describe.**

Often when I play decks that like to proliferate counters, like +1/+1 decks or planeswalker decks, I end up spending a lot of time just clicking on stuff to proliferate.

If I have 8 permanents with counters, I need to click 8 times for each proliferate trigger, often requiring scrolling between clicks because in the late-game my permanents don't always fit on-screen. It's annoying enough that I avoid playing planeswalker decks with cards like `Atraxa, Praetors' Voice` or `Dreamtide Whale`.

**Describe the solution you'd like**

I'd like a similar solution to Arena, where when you proliferate, the game automatically selects cards it thinks you'd like to proliferate. You still have the option of deselecting cards you don't want proliferated, or proliferating cards the game didn't automatically select but the game gives you a good default that works 99% of the time. As always, you still have the option of hitting "Cancel" if you don't want to proliferate at all.

Some examples of when something could be selected by default:
- A permanent controlled by me or an ally that only has "good" counters (such as +1/+1 counters or loyalty counters)
- I or an ally only have good counters (such as energy counters or experience counters)
- A permanent an enemy controls only has "bad" counters (such as -1/-1 counters)
- An enemy only has "bad" counters (such as poison counters)

This approach would require building list of "good" and "bad" counters. I'm not sure if Forge does this, but MTGO does (as it highlights good counters in green and bad counters in red). If Forge doesn't already do this, I think it could be quickly implemented by starting with the most obvious counters and iterating from there as needed (rather than trying to categorize every kind of counter on the first pass).

Another way to implement this would be to leverage the existing `CountersProliferateAi.java`, using the AI to create a default selection. This could potentially result in a smarter selection, and would require less new code to maintain, but a complicated ruleset means that a player can't easily predict what will be selected by default.

No matter how it's implemented, it'd be good if there was an option to turn this on or off, but I know adding options has an associated maintenance cost so I understand if the team is against that.

**Describe alternatives you've considered**

- I checked the FAQ channel on Discord and searched through issues on here to see if other people had brought this up, and couldn't find anything.
- I looked through the code and found `CountersProliferateAi.java`, which is how I came up with that alternative.

**Additional context**
Thank you for your time. 🙂

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.