diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java
index b33a8b084655..1b7ff4125e1c 100644
--- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java
+++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MythicspoilerComSource.java
@@ -257,6 +257,7 @@ public String getSourceName() {
supportedSets.add("UST");
supportedSets.add("RIX");
supportedSets.add("DOM");
+ supportedSets.add("BBD");
sets = new LinkedHashMap<>();
setsAliases = new HashMap<>();
diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSource.java
index 3a43aec961dc..f38b1a80e6fd 100644
--- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSource.java
+++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSource.java
@@ -210,6 +210,7 @@ public enum ScryfallImageSource implements CardImageSource {
supportedSets.add("PPRO");
supportedSets.add("A25");
supportedSets.add("DOM");
+ supportedSets.add("BBD");
// supportedSets.add("M19");
}
diff --git a/Mage.Sets/src/mage/cards/a/ArenaRector.java b/Mage.Sets/src/mage/cards/a/ArenaRector.java
index 63b5ab78fd2c..5ec9bbda564a 100644
--- a/Mage.Sets/src/mage/cards/a/ArenaRector.java
+++ b/Mage.Sets/src/mage/cards/a/ArenaRector.java
@@ -33,10 +33,10 @@
import mage.abilities.costs.common.ExileSourceFromGraveCost;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
-import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import mage.constants.SubType;
import mage.filter.common.FilterPlaneswalkerCard;
import mage.target.common.TargetCardInLibrary;
@@ -60,7 +60,7 @@ public ArenaRector(UUID ownerId, CardSetInfo setInfo) {
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterPlaneswalkerCard())),
new ExileSourceFromGraveCost(),
"Exile to search for a planeswalker?"
- ), false
+ ).setText("you may exile it. If you do, search your library for a planeswalker card, put it onto the battlefield, then shuffle your library"), false
));
}
diff --git a/Mage.Sets/src/mage/cards/b/Brightling.java b/Mage.Sets/src/mage/cards/b/Brightling.java
index 812dd97c1866..5ea0c973e6cb 100644
--- a/Mage.Sets/src/mage/cards/b/Brightling.java
+++ b/Mage.Sets/src/mage/cards/b/Brightling.java
@@ -32,7 +32,7 @@
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ColoredManaCost;
-import mage.abilities.costs.mana.ColorlessManaCost;
+import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
@@ -95,7 +95,7 @@ public Brightling(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new BrightlingEffect(),
- new ColorlessManaCost(1)
+ new GenericManaCost(1)
));
}
diff --git a/Mage.Sets/src/mage/cards/c/ChakramRetriever.java b/Mage.Sets/src/mage/cards/c/ChakramRetriever.java
index 4d0c17f88555..dda65506b73e 100644
--- a/Mage.Sets/src/mage/cards/c/ChakramRetriever.java
+++ b/Mage.Sets/src/mage/cards/c/ChakramRetriever.java
@@ -35,10 +35,10 @@
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.keyword.PartnerWithAbility;
-import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -65,6 +65,7 @@ public ChakramRetriever(UUID ownerId, CardSetInfo setInfo) {
"Whenever you cast a spell during your turn, untap target creature."
);
ability.addTarget(new TargetCreaturePermanent());
+ this.addAbility(ability);
}
public ChakramRetriever(final ChakramRetriever card) {
diff --git a/Mage.Sets/src/mage/cards/f/FanFavorite.java b/Mage.Sets/src/mage/cards/f/FanFavorite.java
index d45b13cb129e..ff317b46270c 100644
--- a/Mage.Sets/src/mage/cards/f/FanFavorite.java
+++ b/Mage.Sets/src/mage/cards/f/FanFavorite.java
@@ -34,12 +34,12 @@
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.InfoEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
-import mage.constants.SubType;
import mage.abilities.keyword.AssistAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
+import mage.constants.SubType;
import mage.constants.TargetController;
/**
@@ -63,6 +63,7 @@ public FanFavorite(UUID ownerId, CardSetInfo setInfo) {
ActivatedAbility ability = new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new GenericManaCost(2));
ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability"));
+ this.addAbility(ability);
}
public FanFavorite(final FanFavorite card) {
diff --git a/Mage.Sets/src/mage/cards/h/HuddleUp.java b/Mage.Sets/src/mage/cards/h/HuddleUp.java
index d2098c1cefc3..9236ba57c4eb 100644
--- a/Mage.Sets/src/mage/cards/h/HuddleUp.java
+++ b/Mage.Sets/src/mage/cards/h/HuddleUp.java
@@ -48,7 +48,7 @@ public HuddleUp(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(new AssistAbility());
// Two target players each draw a card.
- this.getSpellAbility().addEffect(new DrawCardTargetEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardTargetEffect(1).setText("Two target players each draw a card"));
this.getSpellAbility().addTarget(new TargetPlayer(2));
}
diff --git a/Mage.Sets/src/mage/cards/k/KissOfTheAmesha.java b/Mage.Sets/src/mage/cards/k/KissOfTheAmesha.java
index a0ce05c35562..05fa837b1c62 100644
--- a/Mage.Sets/src/mage/cards/k/KissOfTheAmesha.java
+++ b/Mage.Sets/src/mage/cards/k/KissOfTheAmesha.java
@@ -42,13 +42,12 @@
public class KissOfTheAmesha extends CardImpl {
public KissOfTheAmesha(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{W}{U}");
-
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}{U}");
// Target player gains 7 life and draws two cards.
this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addEffect(new GainLifeTargetEffect(7));
- this.getSpellAbility().addEffect(new DrawCardTargetEffect(2));
+ this.getSpellAbility().addEffect(new DrawCardTargetEffect(2).setText("and draws two cards"));
}
public KissOfTheAmesha(final KissOfTheAmesha card) {
diff --git a/Mage.Sets/src/mage/cards/l/LoreWeaver.java b/Mage.Sets/src/mage/cards/l/LoreWeaver.java
index 1e74242463dd..763f46f35d53 100644
--- a/Mage.Sets/src/mage/cards/l/LoreWeaver.java
+++ b/Mage.Sets/src/mage/cards/l/LoreWeaver.java
@@ -34,10 +34,10 @@
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.abilities.keyword.PartnerWithAbility;
-import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import mage.constants.SubType;
import mage.target.TargetPlayer;
/**
@@ -60,6 +60,7 @@ public LoreWeaver(UUID ownerId, CardSetInfo setInfo) {
// {5}{U}{U}: Target player draws two cards.
Ability ability = new SimpleActivatedAbility(new DrawCardTargetEffect(2), new ManaCostsImpl("{5}{U}{U}"));
ability.addTarget(new TargetPlayer());
+ this.addAbility(ability);
}
public LoreWeaver(final LoreWeaver card) {
diff --git a/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java b/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java
index 35ce845d9093..018855572457 100644
--- a/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java
+++ b/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java
@@ -37,12 +37,12 @@
import mage.abilities.effects.common.FlipUntilLoseEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.PartnerWithAbility;
-import mage.constants.SubType;
-import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
+import mage.constants.SubType;
+import mage.constants.SuperType;
import mage.constants.TargetController;
/**
@@ -75,7 +75,7 @@ public OkaunEyeOfChaos(UUID ownerId, CardSetInfo setInfo) {
sourceToughness,
Duration.EndOfTurn,
true
- ).setText("double {this}'s power until end of turn")
+ ).setText("double {this}'s power and toughness until end of turn")
));
}
diff --git a/Mage.Sets/src/mage/cards/r/RecklessScholar.java b/Mage.Sets/src/mage/cards/r/RecklessScholar.java
index 69ed4bd7b7f1..80abc1513765 100644
--- a/Mage.Sets/src/mage/cards/r/RecklessScholar.java
+++ b/Mage.Sets/src/mage/cards/r/RecklessScholar.java
@@ -32,8 +32,7 @@
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.effects.common.DrawCardTargetEffect;
-import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.effects.common.DrawDiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -48,15 +47,15 @@
public class RecklessScholar extends CardImpl {
public RecklessScholar(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(1), new TapSourceCost());
- ability.addEffect(new DiscardTargetEffect(1));
+ // {T}: Target player draws a card, then discards a card.
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardTargetEffect(1, 1), new TapSourceCost());
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java b/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java
index 69a85513c71d..055cca537302 100644
--- a/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java
+++ b/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java
@@ -31,7 +31,6 @@
import mage.MageInt;
import mage.abilities.common.AttacksAllTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
-import mage.constants.SubType;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.PartnerWithAbility;
import mage.cards.CardImpl;
@@ -39,6 +38,7 @@
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SetTargetPointer;
+import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.CounterPredicate;
@@ -46,6 +46,7 @@
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
+import mage.target.targetpointer.FixedTarget;
/**
*
@@ -93,7 +94,7 @@ class SoulbladeCorrupterTriggeredAbility extends AttacksAllTriggeredAbility {
super(new GainAbilityTargetEffect(
DeathtouchAbility.getInstance(),
Duration.EndOfTurn
- ), false, filter2, SetTargetPointer.PERMANENT, false);
+ ).setText("that creature gains deathtouch until end of turn"), false, filter2, SetTargetPointer.PERMANENT, false);
}
SoulbladeCorrupterTriggeredAbility(final SoulbladeCorrupterTriggeredAbility effect) {
@@ -106,12 +107,20 @@ public boolean checkTrigger(GameEvent event, Game game) {
Permanent permanent = game.getPermanent(event.getSourceId());
if (permanent != null) {
Player player = game.getPlayer(permanent.getControllerId());
- return player != null && player.hasOpponent(getControllerId(), game);
+ if (player != null && player.hasOpponent(getControllerId(), game)) {
+ getEffects().setTargetPointer(new FixedTarget(permanent, game));
+ return true;
+ }
}
}
return false;
}
+ @Override
+ public String getRule() {
+ return "Whenever a creature with a +1/+1 counter on it attacks one of your opponents, that creature gains deathtouch until end of turn.";
+ }
+
@Override
public SoulbladeCorrupterTriggeredAbility copy() {
return new SoulbladeCorrupterTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/s/Spellseeker.java b/Mage.Sets/src/mage/cards/s/Spellseeker.java
index 15efb2e2eec8..a94125d37827 100644
--- a/Mage.Sets/src/mage/cards/s/Spellseeker.java
+++ b/Mage.Sets/src/mage/cards/s/Spellseeker.java
@@ -31,11 +31,11 @@
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
-import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
+import mage.constants.SubType;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.target.common.TargetCardInLibrary;
@@ -60,9 +60,9 @@ public Spellseeker(UUID ownerId, CardSetInfo setInfo) {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- // When Spellseeker enters the battlefield, you may search your library for an instant or sorcery card with converted mana cost 2 or less, reveal it, put it into your hand, then shuffle your library.
+ // When Spellseeker enters the battlefield, you may search your library for an instant or sorcery card with converted mana cost 2 or less, reveal it, put it into your hand, then shuffle your library.
this.addAbility(new EntersBattlefieldTriggeredAbility(
- new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, filter), true, true),
+ new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true),
true
));
}
diff --git a/Mage.Sets/src/mage/cards/s/StunningReversal.java b/Mage.Sets/src/mage/cards/s/StunningReversal.java
index 1e03ed575727..8300a0ead96a 100644
--- a/Mage.Sets/src/mage/cards/s/StunningReversal.java
+++ b/Mage.Sets/src/mage/cards/s/StunningReversal.java
@@ -49,7 +49,7 @@ public class StunningReversal extends CardImpl {
public StunningReversal(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B}");
- // The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1.
+ // The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1.
this.getSpellAbility().addEffect(new StunningReversalEffect());
// Exile Stunning Reversal.
@@ -70,7 +70,7 @@ class StunningReversalEffect extends ReplacementEffectImpl {
public StunningReversalEffect() {
super(Duration.EndOfTurn, Outcome.Benefit);
- staticText = "The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1. ";
+ staticText = "The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1";
}
public StunningReversalEffect(final StunningReversalEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java b/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java
index ca3588b58ad8..6b5adcd6d659 100644
--- a/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java
+++ b/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java
@@ -50,7 +50,7 @@
*/
public class TheCrowdGoesWild extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a +1/+1 counter on it");
+ private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature with a +1/+1 counter on it");
static {
filter.add(new CounterPredicate(CounterType.P1P1));
@@ -64,7 +64,7 @@ public TheCrowdGoesWild(UUID ownerId, CardSetInfo setInfo) {
// Support X (Put a +1/+1 counter on each of up to X target creatures.)
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance())
- .setText("Support X (Put a +1/+1 counter on each of up to X target creatures.)")
+ .setText("Support X (Put a +1/+1 counter on each of up to X target creatures.)
")
);
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/t/ToothyImaginaryFriend.java b/Mage.Sets/src/mage/cards/t/ToothyImaginaryFriend.java
index d480130b858f..0a3515735159 100644
--- a/Mage.Sets/src/mage/cards/t/ToothyImaginaryFriend.java
+++ b/Mage.Sets/src/mage/cards/t/ToothyImaginaryFriend.java
@@ -35,11 +35,11 @@
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.PartnerWithAbility;
-import mage.constants.SubType;
-import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import mage.constants.SubType;
+import mage.constants.SuperType;
import mage.counters.CounterType;
/**
@@ -63,7 +63,9 @@ public ToothyImaginaryFriend(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(new DrawCardControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true));
// When Toothy leaves the battlefield, draw a card for each +1/+1 counter on it.
- this.addAbility(new LeavesBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.P1P1)), false));
+ this.addAbility(new LeavesBattlefieldTriggeredAbility(
+ new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.P1P1))
+ .setText("draw a card for each +1/+1 counter on it"), false));
}
public ToothyImaginaryFriend(final ToothyImaginaryFriend card) {
diff --git a/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java b/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java
index 6b443fa376b7..7279c6c60d80 100644
--- a/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java
+++ b/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java
@@ -40,9 +40,9 @@
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
-import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Outcome;
+import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -54,10 +54,9 @@
public class UnflinchingCourage extends CardImpl {
public UnflinchingCourage(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{W}");
+ super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{W}");
this.subtype.add(SubType.AURA);
-
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();
this.getSpellAbility().addTarget(auraTarget);
@@ -66,9 +65,10 @@ public UnflinchingCourage(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(ability);
// Enchanted creature gets +2/+2 and has trample and lifelink.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA)));
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA)));
+ ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
+ ability.addEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA).setText("and has trample"));
+ ability.addEffect(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA).setText("and lifelink"));
+ this.addAbility(ability);
}
public UnflinchingCourage(final UnflinchingCourage card) {
diff --git a/Mage.Sets/src/mage/cards/v/VirtusTheVeiled.java b/Mage.Sets/src/mage/cards/v/VirtusTheVeiled.java
index 65d21fe2422c..6a04329042b1 100644
--- a/Mage.Sets/src/mage/cards/v/VirtusTheVeiled.java
+++ b/Mage.Sets/src/mage/cards/v/VirtusTheVeiled.java
@@ -29,7 +29,7 @@
import java.util.UUID;
import mage.MageInt;
-import mage.abilities.common.DealsDamageToOpponentTriggeredAbility;
+import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.LoseHalfLifeTargetEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
@@ -61,7 +61,7 @@ public VirtusTheVeiled(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(DeathtouchAbility.getInstance());
// Whenever Virtus the Veiled deals combat damage to a player, that player loses half their life, rounded up.
- this.addAbility(new DealsDamageToOpponentTriggeredAbility(new LoseHalfLifeTargetEffect(), false, true, true));
+ this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new LoseHalfLifeTargetEffect(), false, true));
}
public VirtusTheVeiled(final VirtusTheVeiled card) {
diff --git a/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java
index 1d049cfb730d..2cd87803c801 100644
--- a/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java
@@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
-
package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
@@ -65,6 +64,6 @@ public boolean checkTrigger(GameEvent event, Game game) {
@Override
public String getRule() {
- return "Whenever a player wins a coin flip," + super.getRule();
+ return "Whenever a player wins a coin flip, " + super.getRule();
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java
index 0068c5a7015d..ca91d4499742 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardTargetEffect.java
@@ -115,7 +115,7 @@ public String getText(Mode mode) {
} else {
target = mode.getTargets().get(0);
}
- sb.append("Target ").append(target.getTargetName());
+ sb.append("target ").append(target.getTargetName());
} else {
sb.append("that player");
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/PartnerWithAbility.java b/Mage/src/main/java/mage/abilities/keyword/PartnerWithAbility.java
index 63cbcf434389..77dc2461a566 100644
--- a/Mage/src/main/java/mage/abilities/keyword/PartnerWithAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/PartnerWithAbility.java
@@ -117,7 +117,7 @@ class PartnersWithSearchEffect extends OneShotEffect {
private final String partnerName;
public PartnersWithSearchEffect(String partnerName) {
- super(Outcome.Detriment);
+ super(Outcome.DrawCard);
this.partnerName = partnerName;
this.staticText = "";
}