From 6889475bb92dfdc4032ce4098e96438d9d4c967f Mon Sep 17 00:00:00 2001 From: igoudt Date: Mon, 6 Nov 2017 09:19:03 +0100 Subject: [PATCH 1/6] fix Signal the Clans check for 3 different cardnames --- Mage.Sets/src/mage/cards/s/SignalTheClans.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/SignalTheClans.java b/Mage.Sets/src/mage/cards/s/SignalTheClans.java index 2b9f3484e6..0fed43aa02 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); From 83231c8992eb6314a3670678a5d8ceb9d1069fea Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 8 Nov 2017 15:31:28 -0500 Subject: [PATCH 2/6] updated Canadian Highlander points list --- .../src/mage/deck/CanadianHighlander.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) 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 93c0266014..75babb9a1b 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); } From 451d697307be906f41ccad099e70dacb2c258653 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 8 Nov 2017 21:43:20 -0500 Subject: [PATCH 3/6] fixed Gleam of Authority being broken --- Mage.Sets/src/mage/cards/g/GleamOfAuthority.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java b/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java index 669c69b48f..87757733fa 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); } From 62aed011a3415934c1cd6fc7245cd9304184fb23 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Fri, 10 Nov 2017 02:25:32 +0400 Subject: [PATCH 4/6] fix issue #4148 on download image cards with quotation mark in names --- .../main/java/org/mage/plugins/card/utils/CardImageUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ac45d2a2f8..7cbe1ec9a0 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"; From a7b04234d4ccef44f96bc2d1bbb3e5fe4c2c09ea Mon Sep 17 00:00:00 2001 From: Zzooouhh Date: Sat, 11 Nov 2017 12:03:44 +0100 Subject: [PATCH 5/6] Text edit --- Mage.Sets/src/mage/cards/a/AcidicSoil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/a/AcidicSoil.java b/Mage.Sets/src/mage/cards/a/AcidicSoil.java index bb42d1744a..03226e47e8 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) { From c63da1bb677ab07c7ccb61933858e47793f4f7a8 Mon Sep 17 00:00:00 2001 From: Zzooouhh Date: Sat, 11 Nov 2017 12:17:42 +0100 Subject: [PATCH 6/6] Made choosing at least one color mandatory 10/1/2005: You can choose any single color or any combination of more than one color. You can't choose colorless. --- .../common/continuous/BecomesColorOrColorsTargetEffect.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 d7be01a950..670ae3da06 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);