diff --git a/forge-core/src/main/java/forge/card/CardRules.java b/forge-core/src/main/java/forge/card/CardRules.java index 93f6e3e5f78..549f0cbe17a 100644 --- a/forge-core/src/main/java/forge/card/CardRules.java +++ b/forge-core/src/main/java/forge/card/CardRules.java @@ -352,9 +352,18 @@ public final class CardRules implements ICardCharacteristics { switch(key.charAt(0)) { case 'A': - if ("A".equals(key)) + if ("A".equals(key)) { this.faces[curFace].addAbility(value); - else if ("AlternateMode".equals(key)) { + } else if ("AI".equals(key)) { + colonPos = value.indexOf(':'); + String variable = colonPos > 0 ? value.substring(0, colonPos) : value; + value = colonPos > 0 ? value.substring(1+colonPos) : null; + + if ( "RemoveDeck".equals(variable) ) { + this.removedFromAIDecks = "All".equalsIgnoreCase(value); + this.removedFromRandomDecks = "Random".equalsIgnoreCase(value); + } + } else if ("AlternateMode".equals(key)) { //System.out.println(faces[curFace].getName()); this.altMode = CardSplitType.smartValueOf(value); } else if ("ALTERNATE".equals(key)) { @@ -447,11 +456,7 @@ public final class CardRules implements ICardCharacteristics { String variable = colonPos > 0 ? value.substring(0, colonPos) : value; value = colonPos > 0 ? value.substring(1+colonPos) : null; - if ( "RemAIDeck".equals(variable) ) { - this.removedFromAIDecks = "True".equalsIgnoreCase(value); - } else if ( "RemRandomDeck".equals(variable) ) { - this.removedFromRandomDecks = "True".equalsIgnoreCase(value); - } else if ( "Picture".equals(variable) ) { + if ( "Picture".equals(variable) ) { this.pictureUrl[this.curFace] = value; } else this.faces[curFace].addSVar(variable, value); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index 0b5139827d2..dc4000f2c21 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -1,39 +1,11 @@ package forge.screens.home; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Vector; - -import javax.swing.JButton; -import javax.swing.JPanel; -import javax.swing.ListSelectionModel; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import net.miginfocom.swing.MigLayout; - import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; - import forge.UiCommand; import forge.ai.AIOption; -import forge.deck.CardPool; -import forge.deck.Deck; -import forge.deck.DeckProxy; -import forge.deck.DeckSection; -import forge.deck.DeckType; -import forge.deck.DeckgenUtil; -import forge.deck.RandomDeckGenerator; +import forge.deck.*; import forge.deckchooser.FDeckChooser; import forge.game.GameType; import forge.game.card.CardView; @@ -48,20 +20,24 @@ import forge.model.FModel; import forge.net.event.UpdateLobbyPlayerEvent; import forge.properties.ForgePreferences; import forge.properties.ForgePreferences.FPref; -import forge.toolbox.FCheckBox; -import forge.toolbox.FLabel; -import forge.toolbox.FList; -import forge.toolbox.FOptionPane; -import forge.toolbox.FPanel; -import forge.toolbox.FScrollPane; -import forge.toolbox.FScrollPanel; -import forge.toolbox.FSkin; +import forge.toolbox.*; import forge.toolbox.FSkin.SkinImage; -import forge.toolbox.FTextField; import forge.util.Aggregates; import forge.util.Lang; import forge.util.NameGenerator; import forge.util.gui.SOptionPane; +import net.miginfocom.swing.MigLayout; + +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.util.*; +import java.util.List; /** * Lobby view. View of a number of players at the deck selection stage. @@ -1009,17 +985,17 @@ public class VLobby implements ILobbyView { return vgdAllAvatars; } - /** Return the Vanguard avatars not flagged RemAIDeck. */ + /** Return the Vanguard avatars not flagged RemoveDeck:All. */ public List getAllAiAvatars() { return vgdAllAiAvatars; } - /** Return the Vanguard avatars not flagged RemRandomDeck. */ + /** Return the Vanguard avatars not flagged RemoveDeck:Random. */ public List getNonRandomHumanAvatars() { return nonRandomHumanAvatars; } - /** Return the Vanguard avatars not flagged RemAIDeck or RemRandomDeck. */ + /** Return the Vanguard avatars not flagged RemoveDeck:All or RemoveDeck:Random. */ public List getNonRandomAiAvatars() { return nonRandomAiAvatars; } diff --git a/forge-gui/tools/DeckConversionTools/mtgdecksnet_convert.py b/forge-gui/tools/DeckConversionTools/mtgdecksnet_convert.py index 9056793d18b..f46f3cc9116 100644 --- a/forge-gui/tools/DeckConversionTools/mtgdecksnet_convert.py +++ b/forge-gui/tools/DeckConversionTools/mtgdecksnet_convert.py @@ -55,7 +55,7 @@ for root, dirs, files in os.walk(CARDSFOLDER): if line.lower().find("name:") != -1: cardnames.extend([line.split('\n')[0].split(':')[1]]) cardname = " // ".join(cardnames) - if cardtext.lower().find("remaideck") != -1: + if cardtext.lower().find("removedeck:all") != -1: cardlist[cardname] = 0 else: cardlist[cardname] = 1 diff --git a/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort.py b/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort.py index c059e32e100..e8957975c9e 100644 --- a/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort.py +++ b/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort.py @@ -59,7 +59,7 @@ for root, dirs, files in os.walk(CARDSFOLDER): if line.lower().find("name:") != -1: cardnames.extend([line.split('\n')[0].split(':')[1]]) cardname = " // ".join(cardnames) - if cardtext.lower().find("remaideck") != -1: + if cardtext.lower().find("removedeck:all") != -1: cardlist[cardname] = 0 else: cardlist[cardname] = 1 diff --git a/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort_EDH.py b/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort_EDH.py index bb31f64cc96..3427556b675 100644 --- a/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort_EDH.py +++ b/forge-gui/tools/DeckConversionTools/mtgdecksnet_decksort_EDH.py @@ -59,7 +59,7 @@ for root, dirs, files in os.walk(CARDSFOLDER): if line.lower().find("name:") != -1: cardnames.extend([line.split('\n')[0].split(':')[1]]) cardname = " // ".join(cardnames) - if cardtext.lower().find("remaideck") != -1: + if cardtext.lower().find("removedeck:all") != -1: cardlist[cardname] = 0 else: cardlist[cardname] = 1 diff --git a/forge-gui/tools/deckAiCompat.py b/forge-gui/tools/deckAiCompat.py index 6bfe7b7a471..70b57a32bb9 100644 --- a/forge-gui/tools/deckAiCompat.py +++ b/forge-gui/tools/deckAiCompat.py @@ -46,7 +46,7 @@ for root, dirs, files in os.walk("cardsfolder"): if line.lower().find("name:") != -1: cardnames.extend([line.split('\n')[0].split(':')[1]]) cardname = " // ".join(cardnames) - if cardtext.lower().find("remaideck") != -1: + if cardtext.lower().find("removedeck:all") != -1: cardlist[cardname] = 0 else: cardlist[cardname] = 1