From 0cee5127dccfbd931cb9c6ac35c83e8cb52cbe8f Mon Sep 17 00:00:00 2001 From: ReSech Date: Wed, 2 Jul 2025 13:21:25 +1000 Subject: [PATCH] deck: added Freeform Unlimited deck type to play games with any cards amount (#13815) --- .../java/mage/client/table/TablesPanel.java | 2 +- .../src/mage/deck/FreeformUnlimited.java | 34 +++++++++++++++++++ Mage.Server/config/config.xml | 1 + Mage.Server/release/config/config.xml | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/FreeformUnlimited.java diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index 302fe95ffbb..0cb2e6e4242 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -896,7 +896,7 @@ public class TablesPanel extends javax.swing.JPanel { formatFilterList.add(RowFilter.regexFilter("^Limited", TablesTableModel.COLUMN_DECK_TYPE)); } if (btnFormatOther.isSelected()) { - formatFilterList.add(RowFilter.regexFilter("^Momir Basic|^Constructed - Pauper|^Constructed - Frontier|^Constructed - Extended|^Constructed - Eternal|^Constructed - Historical|^Constructed - Super|^Constructed - Freeform|^Australian Highlander|^European Highlander|^Canadian Highlander|^Constructed - Old|^Constructed - Historic", TablesTableModel.COLUMN_DECK_TYPE)); + formatFilterList.add(RowFilter.regexFilter("^Momir Basic|^Constructed - Pauper|^Constructed - Frontier|^Constructed - Extended|^Constructed - Eternal|^Constructed - Historical|^Constructed - Super|^Constructed - Freeform|^Constructed - Freeform Unlimited|^Australian Highlander|^European Highlander|^Canadian Highlander|^Constructed - Old|^Constructed - Historic", TablesTableModel.COLUMN_DECK_TYPE)); } // skill diff --git a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/FreeformUnlimited.java b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/FreeformUnlimited.java new file mode 100644 index 00000000000..8dfcfc03f78 --- /dev/null +++ b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/FreeformUnlimited.java @@ -0,0 +1,34 @@ +package mage.deck; + +import mage.cards.decks.Deck; +import mage.cards.decks.DeckValidator; +import mage.cards.decks.DeckValidatorErrorType; + +/** + * @author resech + */ +public class FreeformUnlimited extends DeckValidator { + + public FreeformUnlimited() { + this("Constructed - Freeform Unlimited", null); + } + + public FreeformUnlimited(String name, String shortName) { + super(name, shortName); + } + + @Override + public int getDeckMinSize() { + return 0; + } + + @Override + public int getSideboardMinSize() { + return 0; + } + + @Override + public boolean validate(Deck deck) { + return true; + } +} diff --git a/Mage.Server/config/config.xml b/Mage.Server/config/config.xml index 928cb18c62f..48b09948dc3 100644 --- a/Mage.Server/config/config.xml +++ b/Mage.Server/config/config.xml @@ -196,6 +196,7 @@ + diff --git a/Mage.Server/release/config/config.xml b/Mage.Server/release/config/config.xml index 1e7a126def9..f30470ab1d1 100644 --- a/Mage.Server/release/config/config.xml +++ b/Mage.Server/release/config/config.xml @@ -190,6 +190,7 @@ +