Feature improvement: automatic deck submissions now add lands sensibly (#10159)

* Make automatic deck submissions use sensible land suggestions

* Cover edge case of no colored mana symbols among cards in deck

* Add comments

* Get minimum deck size from deck validator
This commit is contained in:
xenohedron 2023-04-28 10:59:24 -04:00 committed by GitHub
parent d1f6bd1301
commit 761663c63c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 87 additions and 73 deletions

View file

@ -2,6 +2,8 @@ package mage.server.tournament;
import mage.MageException;
import mage.cards.decks.Deck;
import mage.cards.decks.DeckValidator;
import mage.cards.decks.DeckValidatorFactory;
import mage.constants.TableState;
import mage.constants.TournamentPlayerState;
import mage.game.GameException;
@ -333,7 +335,9 @@ public class TournamentController {
if (userPlayerMap.containsKey(userId)) {
TournamentPlayer tournamentPlayer = tournament.getPlayer(userPlayerMap.get(userId));
if (tournamentPlayer.getDeck() != null) {
tournament.autoSubmit(userPlayerMap.get(userId), tournamentPlayer.generateDeck());
DeckValidator deckValidator = DeckValidatorFactory.instance.createDeckValidator(tournament.getOptions().getMatchOptions().getDeckType());
int deckMinSize = deckValidator != null ? deckValidator.getDeckMinSize() : 40;
tournament.autoSubmit(userPlayerMap.get(userId), tournamentPlayer.generateDeck(deckMinSize));
} else {
StringBuilder sb = new StringBuilder();
managerFactory.userManager().getUser(userId).ifPresent(user