gui, deck: reworked edh power level (close #5361, close #11732, related to #13341):

* added power level info in deck validation panel;
* added detail calculation info (hint with cards and their power levels);
* fixed that deck's edh power level ignore individual card's levels and used only commanders;
* removed outdated deck restrictions by commander colors;
* now players can really limit allowed decks by edh power level;
This commit is contained in:
Oleg Agafonov 2025-05-24 19:49:21 +04:00
parent 11dcc18049
commit f3ba897536
9 changed files with 235 additions and 76 deletions

View file

@ -325,7 +325,7 @@ public class TableController {
// user - restrict by deck power level and cards colors (see edh power level for details)
int edhPowerLevel = table.getMatch().getOptions().getEdhPowerLevel();
if (edhPowerLevel > 0 && table.getValidator().getName().toLowerCase(Locale.ENGLISH).equals("commander")) {
int deckEdhPowerLevel = table.getValidator().getEdhPowerLevel(deck);
int deckEdhPowerLevel = table.getValidator().getEdhPowerLevel(deck, new ArrayList<>(), new ArrayList<>());
if (deckEdhPowerLevel % 100 > edhPowerLevel) {
String message = new StringBuilder("Your deck appears to be too powerful for this table.\n\nReduce the number of extra turn cards, infect, counters, fogs, reconsider your commander. ")
.append("\nThe table requirement has a maximum power level of ").append(edhPowerLevel).append(" whilst your deck has a calculated power level of ")