diff --git a/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java b/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java index 5380c846090..e59d4c117a1 100644 --- a/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java +++ b/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java @@ -43,7 +43,6 @@ public class DeckGenerator { private static final int DECK_LANDS = 16; private static final int MAX_NON_BASIC_SOURCE = DECK_LANDS / 2; - private static final boolean GENERATE_RANDOM_BASIC_LAND = true; private static final int MAX_TRIES = 4096; private static Deck deck = new Deck(); @@ -341,19 +340,24 @@ public class DeckGenerator { */ private static Card getBestBasicLand(ColoredManaSymbol color) { if (color.equals(ColoredManaSymbol.G)) { - return Sets.findCard("Forest", GENERATE_RANDOM_BASIC_LAND); + CardInfo cardInfo = CardRepository.instance.findCard("Forest"); + return cardInfo != null ? cardInfo.getCard() : null; } if (color.equals(ColoredManaSymbol.R)) { - return Sets.findCard("Mountain", GENERATE_RANDOM_BASIC_LAND); + CardInfo cardInfo = CardRepository.instance.findCard("Mountain"); + return cardInfo != null ? cardInfo.getCard() : null; } if (color.equals(ColoredManaSymbol.B)) { - return Sets.findCard("Swamp", GENERATE_RANDOM_BASIC_LAND); + CardInfo cardInfo = CardRepository.instance.findCard("Swamp"); + return cardInfo != null ? cardInfo.getCard() : null; } if (color.equals(ColoredManaSymbol.U)) { - return Sets.findCard("Island", GENERATE_RANDOM_BASIC_LAND); + CardInfo cardInfo = CardRepository.instance.findCard("Island"); + return cardInfo != null ? cardInfo.getCard() : null; } if (color.equals(ColoredManaSymbol.W)) { - return Sets.findCard("Plains", GENERATE_RANDOM_BASIC_LAND); + CardInfo cardInfo = CardRepository.instance.findCard("Plains"); + return cardInfo != null ? cardInfo.getCard() : null; } return null; diff --git a/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java b/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java index d8694959a90..f4df539250a 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java @@ -34,10 +34,14 @@ package mage.client.dialog; +import java.util.List; +import java.util.Random; import javax.swing.JLayeredPane; +import mage.cards.Card; import mage.cards.decks.Deck; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.client.MageFrame; -import mage.sets.Sets; /** * @@ -59,6 +63,19 @@ public class AddLandDialog extends MageDialog { this.setVisible(true); } + private void addLands(String landName, int number) { + Random random = new Random(); + List cards = CardRepository.instance.findCards(landName); + if (cards.isEmpty()) { + return; + } + + for (int i = 0; i < number; i++) { + Card land = cards.get(random.nextInt(cards.size())).getCard(); + deck.getCards().add(land); + } + } + /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is @@ -194,25 +211,16 @@ public class AddLandDialog extends MageDialog { private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddActionPerformed int nForest = ((Number)spnForest.getValue()).intValue(); - for (int i = 0; i < nForest; i++) { - deck.getCards().add(Sets.findCard("Forest", true)); - } int nIsland = ((Number)spnIsland.getValue()).intValue(); - for (int i = 0; i < nIsland; i++) { - deck.getCards().add(Sets.findCard("Island", true)); - } int nMountain = ((Number)spnMountain.getValue()).intValue(); - for (int i = 0; i < nMountain; i++) { - deck.getCards().add(Sets.findCard("Mountain", true)); - } int nPlains = ((Number)spnPlains.getValue()).intValue(); - for (int i = 0; i < nPlains; i++) { - deck.getCards().add(Sets.findCard("Plains", true)); - } int nSwamp = ((Number)spnSwamp.getValue()).intValue(); - for (int i = 0; i < nSwamp; i++) { - deck.getCards().add(Sets.findCard("Swamp", true)); - } + + addLands("Forest", nForest); + addLands("Island", nIsland); + addLands("Mountain", nMountain); + addLands("Plains", nPlains); + addLands("Swamp", nSwamp); this.hideDialog(); }//GEN-LAST:event_btnAddActionPerformed diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index 3414b1ac56e..0871a311559 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -37,6 +37,7 @@ package mage.client.game; import mage.cards.MageCard; import mage.cards.action.ActionCallback; import mage.cards.decks.importer.DckDeckImporter; +import mage.cards.repository.CardRepository; import mage.client.MageFrame; import mage.client.cards.BigCard; import mage.client.components.HoverButton; @@ -50,7 +51,6 @@ import mage.client.util.ImageHelper; import mage.client.util.gui.BufferedImageBuilder; import mage.components.ImagePanel; import mage.remote.Session; -import mage.sets.Sets; import mage.view.CardView; import mage.view.ManaPoolView; import mage.view.PlayerView; @@ -202,7 +202,7 @@ public class PlayerPanelExt extends javax.swing.JPanel { // Avatar Image image = ImageHelper.getImageFromResources("/avatars/unknown.jpg"); - topCardPanel = Plugins.getInstance().getMageCard(new CardView(Sets.findCard("Forest")), bigCard, topCardDimension, gameId, true); + topCardPanel = Plugins.getInstance().getMageCard(new CardView(CardRepository.instance.findCard("Forest").getCard()), bigCard, topCardDimension, gameId, true); topCardPanel.setVisible(false); panelBackground.add(topCardPanel); diff --git a/Mage.Client/src/main/java/mage/client/util/DeckUtil.java b/Mage.Client/src/main/java/mage/client/util/DeckUtil.java index f4608bf780b..8be31a46fc0 100644 --- a/Mage.Client/src/main/java/mage/client/util/DeckUtil.java +++ b/Mage.Client/src/main/java/mage/client/util/DeckUtil.java @@ -29,9 +29,9 @@ package mage.client.util; import mage.cards.Card; -import mage.cards.ExpansionSet; import mage.cards.decks.Deck; -import mage.sets.Sets; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.view.DeckView; import mage.view.SimpleCardView; import org.apache.log4j.Logger; @@ -51,25 +51,21 @@ public class DeckUtil { public static Deck construct(DeckView view) { Deck deck = new Deck(); for (SimpleCardView cardView : view.getCards().values()) { - ExpansionSet set = Sets.findSet(cardView.getExpansionSetCode()); - if (set != null) { - Card card = set.findCard(cardView.getCardNumber()); - if (card != null) { - deck.getCards().add(card); - } else { - log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber())); - } + CardInfo cardInfo = CardRepository.instance.findCard(cardView.getExpansionSetCode(), cardView.getCardNumber()); + Card card = cardInfo != null ? cardInfo.getCard() : null; + if (card != null) { + deck.getCards().add(card); + } else { + log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber())); } } for (SimpleCardView cardView : view.getSideboard().values()) { - ExpansionSet set = Sets.findSet(cardView.getExpansionSetCode()); - if (set != null) { - Card card = set.findCard(cardView.getCardNumber()); - if (card != null) { - deck.getSideboard().add(card); - } else { - log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber())); - } + CardInfo cardInfo = CardRepository.instance.findCard(cardView.getExpansionSetCode(), cardView.getCardNumber()); + Card card = cardInfo != null ? cardInfo.getCard() : null; + if (card != null) { + deck.getSideboard().add(card); + } else { + log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber())); } } return deck; diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index 62842746666..765ffc7f043 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -51,6 +51,8 @@ import mage.abilities.mana.ManaOptions; import mage.cards.Card; import mage.cards.Cards; import mage.cards.decks.Deck; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.choices.Choice; import mage.filter.FilterPermanent; import mage.filter.common.*; @@ -72,7 +74,6 @@ import mage.players.Player; import mage.players.PlayerImpl; import mage.players.net.UserData; import mage.players.net.UserGroup; -import mage.sets.Sets; import mage.target.*; import mage.target.common.*; import mage.util.Copier; @@ -1096,6 +1097,19 @@ public class ComputerPlayer> extends PlayerImpl i match.submitDeck(playerId, deck); } + private static void addBasicLands(Deck deck, String landName, int number) { + Random random = new Random(); + List cards = CardRepository.instance.findCards(landName); + if (cards.isEmpty()) { + return; + } + + for (int i = 0; i < number; i++) { + Card land = cards.get(random.nextInt(cards.size())).getCard(); + deck.getCards().add(land); + } + } + public static Deck buildDeck(List cardPool, final List colors) { Deck deck = new Deck(); List sortedCards = new ArrayList(cardPool); @@ -1124,46 +1138,29 @@ public class ComputerPlayer> extends PlayerImpl i } double total = mana.getBlack() + mana.getBlue() + mana.getGreen() + mana.getRed() + mana.getWhite(); if (mana.getGreen() > 0) { - int numGreen = (int) Math.round(mana.getGreen() / total * 17); - for (int i = 0; i < numGreen; i++) { - Card land = Sets.findCard("Forest", true); - deck.getCards().add(land); - } + int number = (int) Math.round(mana.getGreen() / total * 17); + addBasicLands(deck, "Forest", number); } if (mana.getBlack() > 0) { - int numBlack = (int) Math.round(mana.getBlack() / total * 17); - for (int i = 0; i < numBlack; i++) { - Card land = Sets.findCard("Swamp", true); - deck.getCards().add(land); - } + int number = (int) Math.round(mana.getBlack() / total * 17); + addBasicLands(deck, "Swamp", number); } if (mana.getBlue() > 0) { - int numBlue = (int) Math.round(mana.getBlue() / total * 17); - for (int i = 0; i < numBlue; i++) { - Card land = Sets.findCard("Island", true); - deck.getCards().add(land); - } + int number = (int) Math.round(mana.getBlue() / total * 17); + addBasicLands(deck, "Island", number); } if (mana.getWhite() > 0) { - int numWhite = (int) Math.round(mana.getWhite() / total * 17); - for (int i = 0; i < numWhite; i++) { - Card land = Sets.findCard("Plains", true); - deck.getCards().add(land); - } + int number = (int) Math.round(mana.getWhite() / total * 17); + addBasicLands(deck, "Plains", number); } if (mana.getRed() > 0) { - int numRed = (int) Math.round(mana.getRed() / total * 17); - for (int i = 0; i < numRed; i++) { - Card land = Sets.findCard("Mountain", true); - deck.getCards().add(land); - } - } - while (deck.getCards().size() < 40) { - //TODO: improve this - Card land = Sets.findCard("Forest", true); - deck.getCards().add(land); + int number = (int) Math.round(mana.getRed() / total * 17); + addBasicLands(deck, "Mountain", number); } + //TODO: improve this + addBasicLands(deck, "Forest", 40 - deck.getCards().size()); + return deck; } diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index df42f4bbe97..dc3f64042e0 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -35,6 +35,8 @@ import mage.cards.Card; import mage.cards.Cards; import mage.cards.decks.Deck; import mage.cards.decks.DeckCardLists; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.game.Game; import mage.game.GameException; import mage.game.events.Listener; @@ -46,7 +48,6 @@ import mage.server.*; import mage.server.util.Splitter; import mage.server.util.SystemUtil; import mage.server.util.ThreadExecutor; -import mage.sets.Sets; import mage.view.AbilityPickerView; import mage.view.CardsView; import mage.view.ChatMessage.MessageColor; @@ -273,7 +274,8 @@ public class GameController implements GameCallback { } public boolean cheat(UUID userId, UUID playerId, String cardName) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; if (card != null) { Set cards = new HashSet(); cards.add(card); diff --git a/Mage.Server/src/main/java/mage/server/util/SystemUtil.java b/Mage.Server/src/main/java/mage/server/util/SystemUtil.java index 121a23e29c8..43dbcac95fd 100644 --- a/Mage.Server/src/main/java/mage/server/util/SystemUtil.java +++ b/Mage.Server/src/main/java/mage/server/util/SystemUtil.java @@ -2,12 +2,15 @@ package mage.server.util; import mage.Constants; import mage.cards.Card; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.game.Game; import mage.players.Player; -import mage.sets.Sets; import java.io.File; import java.util.HashSet; +import java.util.List; +import java.util.Random; import java.util.Scanner; import java.util.Set; import java.util.regex.Matcher; @@ -48,46 +51,59 @@ public class SystemUtil { try { while (scanner.hasNextLine()) { String line = scanner.nextLine().trim(); - if (line.trim().length() == 0 || line.startsWith("#")) continue; + if (line.trim().length() == 0 || line.startsWith("#")) { + continue; + } + Matcher m = pattern.matcher(line); - if (m.matches()) { - - String zone = m.group(1); - String nickname = m.group(2); - - Player player = findPlayer(game, nickname); - if (player != null) { - Constants.Zone gameZone; - if ("hand".equalsIgnoreCase(zone)) { - gameZone = Constants.Zone.HAND; - } else if ("battlefield".equalsIgnoreCase(zone)) { - gameZone = Constants.Zone.BATTLEFIELD; - } else if ("graveyard".equalsIgnoreCase(zone)) { - gameZone = Constants.Zone.GRAVEYARD; - } else if ("library".equalsIgnoreCase(zone)) { - gameZone = Constants.Zone.LIBRARY; - } else { - continue; // go parse next line - } - - String cardName = m.group(3); - Integer amount = Integer.parseInt(m.group(4)); - for (int i = 0; i < amount; i++) { - Card card = Sets.findCard(cardName, true); - if (card != null) { - Set cards = new HashSet(); - cards.add(card); - game.loadCards(cards, player.getId()); - swapWithAnyCard(game, player, card, gameZone); - } else { - logger.fatal("Couldn't find a card: " + cardName); - } - } - } else { - logger.warn("Was skipped: " + line); - } - } else { + if (!m.matches()) { logger.warn("Init string wasn't parsed: " + line); + continue; + } + + String zone = m.group(1); + String nickname = m.group(2); + + Player player = findPlayer(game, nickname); + if (player == null) { + logger.warn("Was skipped: " + line); + continue; + } + + Constants.Zone gameZone; + if ("hand".equalsIgnoreCase(zone)) { + gameZone = Constants.Zone.HAND; + } else if ("battlefield".equalsIgnoreCase(zone)) { + gameZone = Constants.Zone.BATTLEFIELD; + } else if ("graveyard".equalsIgnoreCase(zone)) { + gameZone = Constants.Zone.GRAVEYARD; + } else if ("library".equalsIgnoreCase(zone)) { + gameZone = Constants.Zone.LIBRARY; + } else { + continue; // go parse next line + } + + String cardName = m.group(3); + Integer amount = Integer.parseInt(m.group(4)); + + List cards = CardRepository.instance.findCards(cardName); + if (cards.isEmpty()) { + logger.warn("Couldn't find a card: " + cardName); + continue; + } + + Random random = new Random(); + Set cardsToLoad = new HashSet(); + for (int i = 0; i < amount; i++) { + CardInfo cardInfo = cards.get(random.nextInt(cards.size())); + Card card = cardInfo != null ? cardInfo.getCard() : null; + if (card != null) { + cardsToLoad.add(card); + } + } + game.loadCards(cardsToLoad, player.getId()); + for (Card card : cardsToLoad) { + swapWithAnyCard(game, player, card, gameZone); } } } @@ -126,8 +142,9 @@ public class SystemUtil { */ private static Player findPlayer(Game game, String name) { for (Player player: game.getPlayers().values()) { - if (player.getName().equals(name)) + if (player.getName().equals(name)) { return player; + } } return null; } diff --git a/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java b/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java index bf90f6a4831..e2131542f9b 100644 --- a/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java @@ -2,9 +2,10 @@ package org.mage.test.load; import mage.Constants; import mage.cards.Card; -import mage.cards.ExpansionSet; import mage.cards.decks.Deck; import mage.cards.decks.DeckCardLists; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.game.match.MatchOptions; import mage.player.ai.ComputerPlayer; import mage.remote.Connection; @@ -247,9 +248,10 @@ public class LoadTest { DeckCardLists deckList = new DeckCardLists(); Deck deck = generateRandomDeck(); for (Card card : deck.getCards()) { - ExpansionSet set = Sets.findSet(card.getExpansionSetCode()); - String cardName = set.findCardName(card.getCardNumber()); - deckList.getCards().add(cardName); + CardInfo cardInfo = CardRepository.instance.findCard(card.getExpansionSetCode(), card.getCardNumber()); + if (cardInfo != null) { + deckList.getCards().add(cardInfo.getClassName()); + } } return deckList; } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java index b5106ac217f..7690500e24f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java @@ -3,6 +3,8 @@ package org.mage.test.serverside.base; import mage.Constants; import mage.Constants.PhaseStep; import mage.cards.Card; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.game.Game; import mage.game.match.MatchType; import mage.game.permanent.PermanentCard; @@ -15,7 +17,6 @@ import mage.server.util.ConfigSettings; import mage.server.util.PluginClassLoader; import mage.server.util.config.GamePlugin; import mage.server.util.config.Plugin; -import mage.sets.Sets; import mage.util.Copier; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -253,7 +254,8 @@ public abstract class MageTestBase { } } else { for (int i = 0; i < amount; i++) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; if (card != null) { if (gameZone.equals(Constants.Zone.BATTLEFIELD)) { PermanentCard p = new PermanentCard(card, null); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java index 946d1ca539e..7ddd90bd459 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java @@ -3,6 +3,8 @@ package org.mage.test.serverside.base; import mage.Constants; import mage.Constants.PhaseStep; import mage.cards.Card; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.game.Game; import mage.game.match.MatchType; import mage.game.permanent.PermanentCard; @@ -13,7 +15,6 @@ import mage.server.util.ConfigSettings; import mage.server.util.PluginClassLoader; import mage.server.util.config.GamePlugin; import mage.server.util.config.Plugin; -import mage.sets.Sets; import mage.util.Copier; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -230,7 +231,8 @@ public abstract class MageTestPlayerBase { getCommands(getPlayer(nickname)).put(gameZone, "clear"); } else { for (int i = 0; i < amount; i++) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; if (card != null) { if (gameZone.equals(Constants.Zone.BATTLEFIELD)) { PermanentCard p = new PermanentCard(card, null); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java index 35fd26f078c..4d597decc11 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java @@ -4,11 +4,12 @@ import mage.Constants; import mage.Constants.PhaseStep; import mage.abilities.Ability; import mage.cards.Card; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.filter.Filter; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentCard; import mage.players.Player; -import mage.sets.Sets; import org.junit.Assert; import org.mage.test.player.TestPlayer; import org.mage.test.serverside.base.CardTestAPI; @@ -118,7 +119,8 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP if (gameZone.equals(Constants.Zone.BATTLEFIELD)) { for (int i = 0; i < count; i++) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; if (card == null) { throw new IllegalArgumentException("[TEST] Couldn't find a card: " + cardName); } @@ -136,7 +138,8 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP } List cards = getCardList(gameZone, player); for (int i = 0; i < count; i++) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; cards.add(card); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java index ef1f6730cc7..1c617d0d7f5 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java @@ -7,6 +7,8 @@ import mage.abilities.Ability; import mage.cards.Card; import mage.cards.decks.Deck; import mage.cards.decks.importer.DeckImporterUtil; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; import mage.counters.CounterType; import mage.filter.Filter; import mage.game.ExileZone; @@ -16,7 +18,6 @@ import mage.game.command.CommandObject; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentCard; import mage.players.Player; -import mage.sets.Sets; import org.junit.Assert; import org.mage.test.player.TestPlayer; import org.mage.test.serverside.base.CardTestAPI; @@ -150,7 +151,8 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement if (gameZone.equals(Constants.Zone.BATTLEFIELD)) { for (int i = 0; i < count; i++) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; if (card == null) { throw new IllegalArgumentException("[TEST] Couldn't find a card: " + cardName); } @@ -164,7 +166,8 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement } List cards = getCardList(gameZone, player); for (int i = 0; i < count; i++) { - Card card = Sets.findCard(cardName, true); + CardInfo cardInfo = CardRepository.instance.findCard(cardName); + Card card = cardInfo != null ? cardInfo.getCard() : null; if (card == null) { throw new AssertionError("Couldn't find a card: " + cardName); }