diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java index ac45d2a2f80..7cbe1ec9a0c 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java @@ -184,7 +184,7 @@ public final class CardImageUtils { String imageName; String type = card.getType() != 0 ? ' ' + Integer.toString(card.getType()) : ""; - String name = card.getFileName().isEmpty() ? card.getName().replace(":", "").replace("//", "-") : card.getFileName(); + String name = card.getFileName().isEmpty() ? card.getName().replace(":", "").replace("\"", "").replace("//", "-") : card.getFileName(); if (card.getUsesVariousArt()) { imageName = name + '.' + card.getCollectorId() + ".full.jpg"; diff --git a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java index 93c02660149..75babb9a1b8 100644 --- a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java +++ b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java @@ -92,15 +92,14 @@ public class CanadianHighlander extends Constructed { String cn = entry.getKey(); if (cn.equals("Balance") || cn.equals("Dig Through Time") + || cn.equals("Doomsday") || cn.equals("Enlightened Tutor") || cn.equals("Fastbond") || cn.equals("Intuition") || cn.equals("Library of Alexandria") - || cn.equals("Lim-Dul's Vault") || cn.equals("Mana Vault") || cn.equals("Merchant Scroll") || cn.equals("Mind Twist") - || cn.equals("Oath of Druids") || cn.equals("Personal Tutor") || cn.equals("Stoneforge Mystic") || cn.equals("Tainted Pact") @@ -112,32 +111,32 @@ public class CanadianHighlander extends Constructed { totalPoints += 1; invalid.put(entry.getKey(), " 1 point " + cn); } - if (cn.equals("Doomsday") - || cn.equals("Gifts Ungiven") + if (cn.equals("Gifts Ungiven") + || cn.equals("Hermit Druid") || cn.equals("Imperial Seal") || cn.equals("Mana Crypt") || cn.equals("Mystical Tutor") || cn.equals("Strip Mine") - || cn.equals("Summoner's Pact") + || cn.equals("Summoner’s Pact") || cn.equals("Survival of the Fittest") - || cn.equals("Umezawa's Jitte")) { + || cn.equals("Umezawa’s Jitte")) { totalPoints += 2; invalid.put(entry.getKey(), " 2 points " + cn); } if (cn.equals("Birthing Pod") - || cn.equals("Hermit Druid") || cn.equals("Mox Emerald") || cn.equals("Mox Jet") || cn.equals("Mox Pearl") || cn.equals("Mox Ruby") || cn.equals("Mox Sapphire") || cn.equals("Protean Hulk") + || cn.equals("Sol Ring") || cn.equals("Vampiric Tutor")) { totalPoints += 3; invalid.put(entry.getKey(), " 3 points " + cn); } if (cn.equals("Demonic Tutor") - || cn.equals("Sol Ring")) { + || cn.equals("Tinker")) { totalPoints += 4; invalid.put(entry.getKey(), " 4 points " + cn); } @@ -147,13 +146,12 @@ public class CanadianHighlander extends Constructed { invalid.put(entry.getKey(), " 5 points " + cn); } if (cn.equals("Ancestral Recall") - || cn.equals("Time Walk")) { + || cn.equals("Time Vault")) { totalPoints += 6; - invalid.put(entry.getKey(), " 5 points " + cn); + invalid.put(entry.getKey(), " 6 points " + cn); } if (cn.equals("Black Lotus") - || cn.equals("Flash") - || cn.equals("Time Vault")) { + || cn.equals("Flash")) { totalPoints += 7; invalid.put(entry.getKey(), " 7 points " + cn); } diff --git a/Mage.Sets/src/mage/cards/a/AcidicSoil.java b/Mage.Sets/src/mage/cards/a/AcidicSoil.java index bb42d1744a3..03226e47e85 100644 --- a/Mage.Sets/src/mage/cards/a/AcidicSoil.java +++ b/Mage.Sets/src/mage/cards/a/AcidicSoil.java @@ -68,7 +68,7 @@ class AcidicSoilEffect extends OneShotEffect { AcidicSoilEffect() { super(Outcome.Damage); - staticText = "Acidic Soil deals damage to each player equal to the number of lands he or she controls"; + staticText = "{this} deals damage to each player equal to the number of lands he or she controls"; } AcidicSoilEffect(final AcidicSoilEffect effect) { diff --git a/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java b/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java index 669c69b48f2..87757733fa4 100644 --- a/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java +++ b/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java @@ -78,7 +78,7 @@ public class GleamOfAuthority extends CardImpl { ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA)); Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BolsterEffect(1), new ManaCostsImpl("{W}")); gainedAbility.addCost(new TapSourceCost()); - ability.addEffect(new GainAbilityAttachedEffect(ability, AttachmentType.AURA).setText("and \"{W}, {T}: Bloster 1.\"")); + ability.addEffect(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA).setText("and \"{W}, {T}: Bloster 1.\"")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SignalTheClans.java b/Mage.Sets/src/mage/cards/s/SignalTheClans.java index 2b9f3484e6c..0fed43aa028 100644 --- a/Mage.Sets/src/mage/cards/s/SignalTheClans.java +++ b/Mage.Sets/src/mage/cards/s/SignalTheClans.java @@ -27,15 +27,10 @@ */ package mage.cards.s; -import java.util.List; -import java.util.UUID; +import mage.MageObject; import mage.abilities.Ability; import mage.abilities.effects.SearchEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -44,6 +39,11 @@ import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInLibrary; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; +import java.util.stream.Stream; + /** * * @author Plopman @@ -105,7 +105,7 @@ class SignalTheClansEffect extends SearchEffect { player.revealCards("Reveal", cards, game); Card cardsArray[] = cards.getCards(game).toArray(new Card[0]); //If you reveal three cards with different names - if(cardsArray.length == 3 && !cardsArray[0].getName().equals(cardsArray[1]) && !cardsArray[0].getName().equals(cardsArray[2]) && !cardsArray[1].getName().equals(cardsArray[2])){ + if(Stream.of(cardsArray).map(MageObject::getName).collect(Collectors.toSet()).size() == 3){ //Choose one of them at random and put that card into your hand Card randomCard = cards.getRandom(game); randomCard.moveToZone(Zone.HAND, source.getSourceId(), game, true); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java index d7be01a950c..670ae3da062 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesColorOrColorsTargetEffect.java @@ -73,8 +73,10 @@ public class BecomesColorOrColorsTargetEffect extends OneShotEffect { if (controller != null && target != null) { for (int i = 0; i < 5; i++) { - if (!controller.chooseUse(Outcome.Neutral, "Do you wish to choose another color?", source, game)) { - break; + if (i > 0) { + if (!controller.chooseUse(Outcome.Neutral, "Do you wish to choose another color?", source, game)) { + break; + } } ChoiceColor choiceColor = new ChoiceColor(); controller.choose(Outcome.Benefit, choiceColor, game);