diff --git a/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java b/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java index c68c8fe9ebc..bb2580d96d6 100644 --- a/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java +++ b/Mage/src/main/java/mage/abilities/costs/mana/ManaCostsImpl.java @@ -42,6 +42,7 @@ public class ManaCostsImpl extends ArrayList implements M public ManaCostsImpl(final ManaCostsImpl costs) { this.id = costs.id; + this.text = costs.text; for (T cost : costs) { this.add(cost.copy()); } diff --git a/Mage/src/main/java/mage/cards/repository/CardInfo.java b/Mage/src/main/java/mage/cards/repository/CardInfo.java index 0e7a3883522..4576179609a 100644 --- a/Mage/src/main/java/mage/cards/repository/CardInfo.java +++ b/Mage/src/main/java/mage/cards/repository/CardInfo.java @@ -478,4 +478,9 @@ public class CardInfo { public String getModalDoubleFacesSecondSideName() { return modalDoubleFacesSecondSideName; } + + @Override + public String toString() { + return String.format("%s (%s, %s)", getName(), getSetCode(), getCardNumber()); + } } diff --git a/Mage/src/main/java/mage/cards/repository/CardScanner.java b/Mage/src/main/java/mage/cards/repository/CardScanner.java index c6a224b2320..678f1924a57 100644 --- a/Mage/src/main/java/mage/cards/repository/CardScanner.java +++ b/Mage/src/main/java/mage/cards/repository/CardScanner.java @@ -52,19 +52,23 @@ public final class CardScanner { // check cards (only add mode, without updates) for (ExpansionSet set : Sets.getInstance().values()) { for (ExpansionSet.SetCardInfo setInfo : set.getSetCardInfo()) { - if (CardRepository.instance.findCard(set.getCode(), setInfo.getCardNumber()) == null) { - // need add + if (CardRepository.instance.findCard(set.getCode(), setInfo.getCardNumber(), false) == null) { + // found new card Card card = CardImpl.createCard( setInfo.getCardClass(), new CardSetInfo(setInfo.getName(), set.getCode(), setInfo.getCardNumber(), setInfo.getRarity(), setInfo.getGraphicInfo()), errorsList); if (card != null) { - cardsToAdd.add(new CardInfo(card)); // normal, transformed, adventure, modal double faces -- all must have single face in db - if (card instanceof SplitCard) { - SplitCard splitCard = (SplitCard) card; - cardsToAdd.add(new CardInfo(splitCard.getLeftHalfCard())); - cardsToAdd.add(new CardInfo(splitCard.getRightHalfCard())); - } + // Adds only main card, except night cards. + + // TODO: remove night cards from sets and db someday + // Possible reasons for night cards in sets: + // - direct put night card to battlefield by name in tests; + // - images download; + // - in old days xmage client was able to works without card classes, e.g. + // downloads unknown cards from the server as texts (images, hints and all other works fine with it) + + cardsToAdd.add(new CardInfo(card)); } } }