diff --git a/Mage.Sets/src/mage/cards/a/AbzanCharm.java b/Mage.Sets/src/mage/cards/a/AbzanCharm.java
index 985476c8fdd..f34b01dd664 100644
--- a/Mage.Sets/src/mage/cards/a/AbzanCharm.java
+++ b/Mage.Sets/src/mage/cards/a/AbzanCharm.java
@@ -38,7 +38,7 @@ public final class AbzanCharm extends CardImpl {
this.getSpellAbility().addEffect(new ExileTargetEffect());
// *You draw two cards and you lose 2 life
- Mode mode = new Mode(new DrawCardSourceControllerEffect(2).setText("you draw two cards"));
+ Mode mode = new Mode(new DrawCardSourceControllerEffect(2, true));
mode.addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
this.getSpellAbility().addMode(mode);
diff --git a/Mage.Sets/src/mage/cards/a/AlquistProftMasterSleuth.java b/Mage.Sets/src/mage/cards/a/AlquistProftMasterSleuth.java
index 7c7ba450b06..2ff9e1de1b2 100644
--- a/Mage.Sets/src/mage/cards/a/AlquistProftMasterSleuth.java
+++ b/Mage.Sets/src/mage/cards/a/AlquistProftMasterSleuth.java
@@ -43,7 +43,7 @@ public final class AlquistProftMasterSleuth extends CardImpl {
// {X}{W}{U}{U}, {T}, Sacrifice a Clue: You draw X cards and gain X life.
Ability ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(GetXValue.instance, "you"), new ManaCostsImpl<>("{X}{W}{U}{U}")
+ new DrawCardSourceControllerEffect(GetXValue.instance, true), new ManaCostsImpl<>("{X}{W}{U}{U}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CLUE));
diff --git a/Mage.Sets/src/mage/cards/a/AmbitionsCost.java b/Mage.Sets/src/mage/cards/a/AmbitionsCost.java
index 0116938d052..a190ccf017c 100644
--- a/Mage.Sets/src/mage/cards/a/AmbitionsCost.java
+++ b/Mage.Sets/src/mage/cards/a/AmbitionsCost.java
@@ -19,7 +19,7 @@ public final class AmbitionsCost extends CardImpl {
// You draw three cards and you lose 3 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3).setText("you draw three cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(3).concatBy("and"));
}
diff --git a/Mage.Sets/src/mage/cards/a/AncientCraving.java b/Mage.Sets/src/mage/cards/a/AncientCraving.java
index f59303ffb5e..bb80a799d21 100644
--- a/Mage.Sets/src/mage/cards/a/AncientCraving.java
+++ b/Mage.Sets/src/mage/cards/a/AncientCraving.java
@@ -18,7 +18,7 @@ public final class AncientCraving extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}");
// You draw three cards and you lose 3 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3).setText("you draw three cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(3).concatBy("and"));
}
diff --git a/Mage.Sets/src/mage/cards/a/ArchonOfCruelty.java b/Mage.Sets/src/mage/cards/a/ArchonOfCruelty.java
index e6268c86697..70728219943 100644
--- a/Mage.Sets/src/mage/cards/a/ArchonOfCruelty.java
+++ b/Mage.Sets/src/mage/cards/a/ArchonOfCruelty.java
@@ -40,7 +40,7 @@ public final class ArchonOfCruelty extends CardImpl {
ability.addTarget(new TargetOpponent());
ability.addEffect(new DiscardTargetEffect(1, false).setText(", discards a card"));
ability.addEffect(new LoseLifeTargetEffect(3).setText(", and loses 3 life."));
- ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("You"));
+ ability.addEffect(new DrawCardSourceControllerEffect(1, true));
ability.addEffect(new GainLifeEffect(3).setText("and gain 3 life"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
index c78c85df330..ac481590a98 100644
--- a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
+++ b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
@@ -33,7 +33,7 @@ public final class AsylumVisitor extends CardImpl {
// At the beginning of each player's upkeep, if that player has no cards in hand, you draw a card and you lose 1 life.
Ability ability = new ConditionalInterveningIfTriggeredAbility(
- new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), TargetController.ANY, false),
+ new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1, true), TargetController.ANY, false),
new CardsInHandCondition(ComparisonType.EQUAL_TO, 0, TargetController.ACTIVE),
"At the beginning of each player's upkeep, if that player has no cards in hand, you draw a card and you lose 1 life.");
Effect effect = new LoseLifeSourceControllerEffect(1);
diff --git a/Mage.Sets/src/mage/cards/a/AudaciousThief.java b/Mage.Sets/src/mage/cards/a/AudaciousThief.java
index ddc42846e06..0dac67bfe76 100644
--- a/Mage.Sets/src/mage/cards/a/AudaciousThief.java
+++ b/Mage.Sets/src/mage/cards/a/AudaciousThief.java
@@ -27,7 +27,7 @@ public final class AudaciousThief extends CardImpl {
// Whenever Audacious Thief attacks, you draw a card and you lose 1 life.
Ability ability = new AttacksTriggeredAbility(
- new DrawCardSourceControllerEffect(1).setText("you draw a card"), false
+ new DrawCardSourceControllerEffect(1, true), false
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/a/AureliaTheLawAbove.java b/Mage.Sets/src/mage/cards/a/AureliaTheLawAbove.java
index 774aefc1acf..e009c256364 100644
--- a/Mage.Sets/src/mage/cards/a/AureliaTheLawAbove.java
+++ b/Mage.Sets/src/mage/cards/a/AureliaTheLawAbove.java
@@ -43,7 +43,7 @@ public final class AureliaTheLawAbove extends CardImpl {
// Whenever a player attacks with three or more creatures, you draw a card.
this.addAbility(new AureliaTheLawAboveTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"), 3
+ new DrawCardSourceControllerEffect(1, true), 3
));
// Whenever a player attacks with five or more creatures, Aurelia, the Law Above deals 3 damage to each of your opponents and you gain 3 life.
diff --git a/Mage.Sets/src/mage/cards/b/BadDeal.java b/Mage.Sets/src/mage/cards/b/BadDeal.java
index 22116bb83c1..59869334928 100644
--- a/Mage.Sets/src/mage/cards/b/BadDeal.java
+++ b/Mage.Sets/src/mage/cards/b/BadDeal.java
@@ -20,7 +20,7 @@ public final class BadDeal extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}{B}");
// You draw two cards and each opponent discards two cards. Each player loses 2 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("You draw two cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(
StaticValue.get(2), false, TargetController.OPPONENT
).concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/b/BalefulForce.java b/Mage.Sets/src/mage/cards/b/BalefulForce.java
index 7919b96a48e..fa7776f1fb0 100644
--- a/Mage.Sets/src/mage/cards/b/BalefulForce.java
+++ b/Mage.Sets/src/mage/cards/b/BalefulForce.java
@@ -27,7 +27,7 @@ public final class BalefulForce extends CardImpl {
this.toughness = new MageInt(7);
// At the beginning of each upkeep, you draw a card and you lose 1 life.
- Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), TargetController.ANY, false);
+ Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1, true), TargetController.ANY, false);
Effect effect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(effect.concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/b/BarbedServitor.java b/Mage.Sets/src/mage/cards/b/BarbedServitor.java
index 8ce5ad6978d..064fa6e3733 100644
--- a/Mage.Sets/src/mage/cards/b/BarbedServitor.java
+++ b/Mage.Sets/src/mage/cards/b/BarbedServitor.java
@@ -39,7 +39,7 @@ public final class BarbedServitor extends CardImpl {
// Whenever Barbed Servitor deals combat damage to a player, you draw a card and you lose 1 life.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"), false
+ new DrawCardSourceControllerEffect(1, true), false
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/b/Bequeathal.java b/Mage.Sets/src/mage/cards/b/Bequeathal.java
index c98402a014b..ab670f33ae3 100644
--- a/Mage.Sets/src/mage/cards/b/Bequeathal.java
+++ b/Mage.Sets/src/mage/cards/b/Bequeathal.java
@@ -33,7 +33,7 @@ public final class Bequeathal extends CardImpl {
this.addAbility(ability);
// When enchanted creature dies, you draw two cards.
- this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2).setText("you draw two cards"), "enchanted creature"));
+ this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2, true), "enchanted creature"));
}
private Bequeathal(final Bequeathal card) {
diff --git a/Mage.Sets/src/mage/cards/b/Betrayal.java b/Mage.Sets/src/mage/cards/b/Betrayal.java
index ab0f93e69f8..7ad39a0f421 100644
--- a/Mage.Sets/src/mage/cards/b/Betrayal.java
+++ b/Mage.Sets/src/mage/cards/b/Betrayal.java
@@ -33,7 +33,7 @@ public final class Betrayal extends CardImpl {
this.addAbility(ability);
// Whenever enchanted creature becomes tapped, you draw a card.
- this.addAbility(new BecomesTappedAttachedTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), "enchanted creature"));
+ this.addAbility(new BecomesTappedAttachedTriggeredAbility(new DrawCardSourceControllerEffect(1, true), "enchanted creature"));
}
private Betrayal(final Betrayal card) {
diff --git a/Mage.Sets/src/mage/cards/b/BilbosRing.java b/Mage.Sets/src/mage/cards/b/BilbosRing.java
index 7115b906c74..98cfcdf00c9 100644
--- a/Mage.Sets/src/mage/cards/b/BilbosRing.java
+++ b/Mage.Sets/src/mage/cards/b/BilbosRing.java
@@ -49,7 +49,7 @@ public final class BilbosRing extends CardImpl {
// Whenever equipped creature attacks alone, you draw a card and you lose 1 life.
ability = new AttacksAloneAttachedTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you")
+ new DrawCardSourceControllerEffect(1, true)
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/c/CaesarLegionsEmperor.java b/Mage.Sets/src/mage/cards/c/CaesarLegionsEmperor.java
index c412523ca1f..3ed51968c73 100644
--- a/Mage.Sets/src/mage/cards/c/CaesarLegionsEmperor.java
+++ b/Mage.Sets/src/mage/cards/c/CaesarLegionsEmperor.java
@@ -54,7 +54,7 @@ public final class CaesarLegionsEmperor extends CardImpl {
triggeredAbility.getModes().setMaxModes(2);
// * You draw a card and you lose 1 life.
- Mode drawMode = new Mode(new DrawCardSourceControllerEffect(1, "you"));
+ Mode drawMode = new Mode(new DrawCardSourceControllerEffect(1, true));
drawMode.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
triggeredAbility.addMode(drawMode);
diff --git a/Mage.Sets/src/mage/cards/c/CallousBloodmage.java b/Mage.Sets/src/mage/cards/c/CallousBloodmage.java
index d4beb0114c2..9459c1ee304 100644
--- a/Mage.Sets/src/mage/cards/c/CallousBloodmage.java
+++ b/Mage.Sets/src/mage/cards/c/CallousBloodmage.java
@@ -35,7 +35,7 @@ public final class CallousBloodmage extends CardImpl {
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new Pest11GainLifeToken()));
// • You draw a card and you lose 1 life.
- Mode mode = new Mode(new DrawCardSourceControllerEffect(1).setText("you draw a card"));
+ Mode mode = new Mode(new DrawCardSourceControllerEffect(1, true));
mode.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
ability.addMode(mode);
diff --git a/Mage.Sets/src/mage/cards/c/ClatteringAugur.java b/Mage.Sets/src/mage/cards/c/ClatteringAugur.java
index 12787851d58..a65e4d4ca5d 100644
--- a/Mage.Sets/src/mage/cards/c/ClatteringAugur.java
+++ b/Mage.Sets/src/mage/cards/c/ClatteringAugur.java
@@ -36,7 +36,7 @@ public final class ClatteringAugur extends CardImpl {
this.addAbility(new CantBlockAbility());
// When Clattering Augur enters the battlefield, you draw a card and you lose 1 life.
- Effect drawEffect = new DrawCardSourceControllerEffect(1, "you");
+ Effect drawEffect = new DrawCardSourceControllerEffect(1, true);
Ability ability = new EntersBattlefieldTriggeredAbility(drawEffect);
Effect lifeEffect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(lifeEffect.concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkFox.java b/Mage.Sets/src/mage/cards/c/ClockworkFox.java
index 2f07bd4cbbf..3da154e13cc 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkFox.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkFox.java
@@ -27,7 +27,7 @@ public final class ClockworkFox extends CardImpl {
// When leaves Clockwork Fox the battlefield, you draw two cards and each opponent draws a card.
Ability ability = new LeavesBattlefieldTriggeredAbility(
- new DrawCardSourceControllerEffect(2).setText("you draw two cards"), false
+ new DrawCardSourceControllerEffect(2, true), false
);
ability.addEffect(new DrawCardAllEffect(1, TargetController.OPPONENT).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/c/CrushingDisappointment.java b/Mage.Sets/src/mage/cards/c/CrushingDisappointment.java
index b217ea0d8d6..13226d566cf 100644
--- a/Mage.Sets/src/mage/cards/c/CrushingDisappointment.java
+++ b/Mage.Sets/src/mage/cards/c/CrushingDisappointment.java
@@ -18,7 +18,7 @@ public final class CrushingDisappointment extends CardImpl {
// Each player loses 2 life. You draw two cards.
this.getSpellAbility().addEffect(new LoseLifeAllPlayersEffect(2));
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).concatBy("You"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
}
private CrushingDisappointment(final CrushingDisappointment card) {
diff --git a/Mage.Sets/src/mage/cards/c/Cryptbreaker.java b/Mage.Sets/src/mage/cards/c/Cryptbreaker.java
index 999f89f8197..16d6652d2b1 100644
--- a/Mage.Sets/src/mage/cards/c/Cryptbreaker.java
+++ b/Mage.Sets/src/mage/cards/c/Cryptbreaker.java
@@ -48,7 +48,7 @@ public final class Cryptbreaker extends CardImpl {
this.addAbility(ability);
// Tap three untapped Zombies you control: You draw a card and you lose 1 life.
- Effect effect = new DrawCardSourceControllerEffect(1, "you");
+ Effect effect = new DrawCardSourceControllerEffect(1, true);
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapTargetCost(new TargetControlledPermanent(3, 3, filter, true)));
effect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(effect.concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/c/CutOfTheProfits.java b/Mage.Sets/src/mage/cards/c/CutOfTheProfits.java
index fc5070841a8..c5aedbb635f 100644
--- a/Mage.Sets/src/mage/cards/c/CutOfTheProfits.java
+++ b/Mage.Sets/src/mage/cards/c/CutOfTheProfits.java
@@ -22,7 +22,7 @@ public final class CutOfTheProfits extends CardImpl {
this.addAbility(new CasualtyAbility(3));
// You draw X cards and you lose X life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(GetXValue.instance, "you"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(GetXValue.instance, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(GetXValue.instance).concatBy("and"));
}
diff --git a/Mage.Sets/src/mage/cards/d/DarkProphecy.java b/Mage.Sets/src/mage/cards/d/DarkProphecy.java
index bb8326bba5f..469d024d2db 100644
--- a/Mage.Sets/src/mage/cards/d/DarkProphecy.java
+++ b/Mage.Sets/src/mage/cards/d/DarkProphecy.java
@@ -23,7 +23,7 @@ public final class DarkProphecy extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}{B}");
// Whenever a creature you control dies, you draw a card and you lose 1 life.
- Effect effect = new DrawCardSourceControllerEffect(1, "you");
+ Effect effect = new DrawCardSourceControllerEffect(1, true);
Ability ability = new DiesCreatureTriggeredAbility(effect, false, StaticFilters.FILTER_CONTROLLED_A_CREATURE);
effect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(effect.concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java b/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java
index 5c61701cd1a..5ad1fee36be 100644
--- a/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java
+++ b/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java
@@ -69,7 +69,7 @@ public final class DiscerningFinancier extends CardImpl {
new ManaCostsImpl<>("{2}{W}")
);
ability.addTarget(new TargetControlledPermanent(filter));
- ability.addEffect(new DrawCardSourceControllerEffect(1, "you"));
+ ability.addEffect(new DrawCardSourceControllerEffect(1, true));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfPerdition.java b/Mage.Sets/src/mage/cards/d/DiscipleOfPerdition.java
index cf48dc7903d..dffa69afe73 100644
--- a/Mage.Sets/src/mage/cards/d/DiscipleOfPerdition.java
+++ b/Mage.Sets/src/mage/cards/d/DiscipleOfPerdition.java
@@ -34,7 +34,7 @@ public final class DiscipleOfPerdition extends CardImpl {
// When Disciple of Perdition dies, choose one. If you have exactly 13 life, you may choose both.
// * You draw a card and you lose 1 life.
- Ability ability = new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), false);
+ Ability ability = new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(1, true), false);
ability.getModes().setChooseText("choose one. If you have exactly 13 life, you may choose both.");
ability.getModes().setMoreCondition(new LifeCompareCondition(TargetController.YOU, ComparisonType.EQUAL_TO, 13));
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/d/DiscreetRetreat.java b/Mage.Sets/src/mage/cards/d/DiscreetRetreat.java
index a8cd429041b..8629945a8b4 100644
--- a/Mage.Sets/src/mage/cards/d/DiscreetRetreat.java
+++ b/Mage.Sets/src/mage/cards/d/DiscreetRetreat.java
@@ -75,7 +75,7 @@ public final class DiscreetRetreat extends CardImpl {
class DiscreetRetreatTriggeredAbility extends TriggeredAbilityImpl {
DiscreetRetreatTriggeredAbility() {
- super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1, "you"));
+ super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1, true));
addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
setTriggerPhrase("Whenever you cast your first outlaw spell each turn, ");
}
diff --git a/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java b/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java
index e32fa4355ba..79e62bdd774 100644
--- a/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java
+++ b/Mage.Sets/src/mage/cards/d/DisinformationCampaign.java
@@ -24,7 +24,7 @@ public final class DisinformationCampaign extends CardImpl {
// When Disinformation Campaign enters the battlefield, you draw a card and each opponent discards a card.
Ability ability = new EntersBattlefieldTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"));
+ new DrawCardSourceControllerEffect(1, true));
ability.addEffect(new DiscardEachPlayerEffect(
StaticValue.get(1), false, TargetController.OPPONENT).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/d/DuskLegionZealot.java b/Mage.Sets/src/mage/cards/d/DuskLegionZealot.java
index f150cf86e7c..2fe83beb054 100644
--- a/Mage.Sets/src/mage/cards/d/DuskLegionZealot.java
+++ b/Mage.Sets/src/mage/cards/d/DuskLegionZealot.java
@@ -27,7 +27,7 @@ public final class DuskLegionZealot extends CardImpl {
this.toughness = new MageInt(1);
// When Dusk Legion Zealot enters the battlefield, you draw a card and you lose 1 life.
- Effect drawEffect = new DrawCardSourceControllerEffect(1, "you");
+ Effect drawEffect = new DrawCardSourceControllerEffect(1, true);
Ability ability = new EntersBattlefieldTriggeredAbility(drawEffect);
Effect lifeEffect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(lifeEffect.concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/e/ExtraordinaryJourney.java b/Mage.Sets/src/mage/cards/e/ExtraordinaryJourney.java
index 6818199f6c8..a737d745df9 100644
--- a/Mage.Sets/src/mage/cards/e/ExtraordinaryJourney.java
+++ b/Mage.Sets/src/mage/cards/e/ExtraordinaryJourney.java
@@ -134,7 +134,7 @@ class ExtraordinaryJourneyEffect extends OneShotEffect {
class ExtraordinaryJourneyTriggeredAbility extends TriggeredAbilityImpl {
ExtraordinaryJourneyTriggeredAbility() {
- super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1, "you"), false);
+ super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1, true), false);
setTriggerPhrase("Whenever one or more nontoken creatures enter the battlefield, "
+ "if one or more of them entered from exile or was cast from exile, ");
setTriggersLimitEachTurn(1);
diff --git a/Mage.Sets/src/mage/cards/f/FaerieDreamthief.java b/Mage.Sets/src/mage/cards/f/FaerieDreamthief.java
index b5728aab39b..1116422502a 100644
--- a/Mage.Sets/src/mage/cards/f/FaerieDreamthief.java
+++ b/Mage.Sets/src/mage/cards/f/FaerieDreamthief.java
@@ -40,7 +40,7 @@ public final class FaerieDreamthief extends CardImpl {
// {2}{B}, Exile Faerie Dreamthief from your graveyard: You draw a card and you lose 1 life.
Ability ability = new SimpleActivatedAbility(
Zone.GRAVEYARD,
- new DrawCardSourceControllerEffect(1, "you"),
+ new DrawCardSourceControllerEffect(1, true),
new ManaCostsImpl<>("{2}{B}")
);
ability.addCost(new ExileSourceFromGraveCost());
diff --git a/Mage.Sets/src/mage/cards/f/FatalLore.java b/Mage.Sets/src/mage/cards/f/FatalLore.java
index 9c1e72abffc..b0489701406 100644
--- a/Mage.Sets/src/mage/cards/f/FatalLore.java
+++ b/Mage.Sets/src/mage/cards/f/FatalLore.java
@@ -33,7 +33,7 @@ public final class FatalLore extends CardImpl {
this.getSpellAbility().getModes().setChooseController(TargetController.OPPONENT);
// • You draw three cards.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).setText("you draw three cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3, true));
// • You destroy up to two target creatures that player controls. They can't be regenerated. That player draws up to three cards.
this.getSpellAbility().addMode(new Mode(new DestroyTargetEffect(
diff --git a/Mage.Sets/src/mage/cards/f/FeedTheInfection.java b/Mage.Sets/src/mage/cards/f/FeedTheInfection.java
index a01361309d2..8eee8ee6ad3 100644
--- a/Mage.Sets/src/mage/cards/f/FeedTheInfection.java
+++ b/Mage.Sets/src/mage/cards/f/FeedTheInfection.java
@@ -24,7 +24,7 @@ public final class FeedTheInfection extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
// You draw three cards and lose 3 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3, "you"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(3).concatBy("and"));
// Corrupted -- Each opponent with three or more poison counters loses 3 life.
diff --git a/Mage.Sets/src/mage/cards/f/FreyalisesCharm.java b/Mage.Sets/src/mage/cards/f/FreyalisesCharm.java
index 93850d5cf93..a0e11257c44 100644
--- a/Mage.Sets/src/mage/cards/f/FreyalisesCharm.java
+++ b/Mage.Sets/src/mage/cards/f/FreyalisesCharm.java
@@ -32,7 +32,7 @@ public final class FreyalisesCharm extends CardImpl {
// Whenever an opponent casts a black spell, you may pay {G}{G}. If you do, you draw a card.
this.addAbility(new SpellCastOpponentTriggeredAbility(
new DoIfCostPaid(
- new DrawCardSourceControllerEffect(1, "you"),
+ new DrawCardSourceControllerEffect(1, true),
new ManaCostsImpl<>("{G}{G}")
), filter, false
));
diff --git a/Mage.Sets/src/mage/cards/f/FugitiveDruid.java b/Mage.Sets/src/mage/cards/f/FugitiveDruid.java
index 0bd4df57998..9bed2f6e15a 100644
--- a/Mage.Sets/src/mage/cards/f/FugitiveDruid.java
+++ b/Mage.Sets/src/mage/cards/f/FugitiveDruid.java
@@ -32,7 +32,7 @@ public final class FugitiveDruid extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Fugitive Druid becomes the target of an Aura spell, you draw a card.
- this.addAbility(new BecomesTargetSourceTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), filter));
+ this.addAbility(new BecomesTargetSourceTriggeredAbility(new DrawCardSourceControllerEffect(1, true), filter));
}
private FugitiveDruid(final FugitiveDruid card) {
diff --git a/Mage.Sets/src/mage/cards/g/GreedsGambit.java b/Mage.Sets/src/mage/cards/g/GreedsGambit.java
index 7091c99c323..bd7fc87b001 100644
--- a/Mage.Sets/src/mage/cards/g/GreedsGambit.java
+++ b/Mage.Sets/src/mage/cards/g/GreedsGambit.java
@@ -24,7 +24,7 @@ public final class GreedsGambit extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}");
// When Greed's Gambit enters the battlefield, you draw three cards, gain 6 life, and create three 2/1 black Bat creature tokens with flying.
- Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3, "you"));
+ Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3, true));
ability.addEffect(new GainLifeEffect(6).setText(", gain 6 life"));
ability.addEffect(new CreateTokenEffect(new Bat21Token(), 3).concatBy(", and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/g/GretaSweettoothScourge.java b/Mage.Sets/src/mage/cards/g/GretaSweettoothScourge.java
index 16697b92e6a..efb2c64df91 100644
--- a/Mage.Sets/src/mage/cards/g/GretaSweettoothScourge.java
+++ b/Mage.Sets/src/mage/cards/g/GretaSweettoothScourge.java
@@ -52,7 +52,7 @@ public final class GretaSweettoothScourge extends CardImpl {
// {1}{B}, Sacrifice a Food: You draw a card and you lose 1 life.
ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(1, "you"),
+ new DrawCardSourceControllerEffect(1, true),
new ManaCostsImpl<>("{1}{B}")
);
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_FOOD));
diff --git a/Mage.Sets/src/mage/cards/g/GruesomeRealization.java b/Mage.Sets/src/mage/cards/g/GruesomeRealization.java
index c2f0d2f1dec..5512abcc0ea 100644
--- a/Mage.Sets/src/mage/cards/g/GruesomeRealization.java
+++ b/Mage.Sets/src/mage/cards/g/GruesomeRealization.java
@@ -22,7 +22,7 @@ public final class GruesomeRealization extends CardImpl {
// Choose one --
// * You draw two cards and you lose 2 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("you draw two cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
// * Creatures your opponents control get -1/-1 until end of turn.
diff --git a/Mage.Sets/src/mage/cards/h/HemlockVial.java b/Mage.Sets/src/mage/cards/h/HemlockVial.java
index 8a5be9e69b1..751568db934 100644
--- a/Mage.Sets/src/mage/cards/h/HemlockVial.java
+++ b/Mage.Sets/src/mage/cards/h/HemlockVial.java
@@ -41,7 +41,7 @@ public final class HemlockVial extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{B}");
// When Hemlock Vial enters the battlefield, you draw a card and you lose 1 life.
- Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"));
+ Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1, true));
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/h/HonorTheGodPharaoh.java b/Mage.Sets/src/mage/cards/h/HonorTheGodPharaoh.java
index 50bbab117fe..bdf491f0fdc 100644
--- a/Mage.Sets/src/mage/cards/h/HonorTheGodPharaoh.java
+++ b/Mage.Sets/src/mage/cards/h/HonorTheGodPharaoh.java
@@ -21,7 +21,7 @@ public final class HonorTheGodPharaoh extends CardImpl {
this.getSpellAbility().addCost(new DiscardCardCost(false));
// Draw two cards. Amass 1.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("draw two cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2));
this.getSpellAbility().addEffect(new AmassEffect(1, SubType.ZOMBIE));
}
diff --git a/Mage.Sets/src/mage/cards/i/InfectiousInquiry.java b/Mage.Sets/src/mage/cards/i/InfectiousInquiry.java
index 132c9b8e5f2..fd4ca9ecd4e 100644
--- a/Mage.Sets/src/mage/cards/i/InfectiousInquiry.java
+++ b/Mage.Sets/src/mage/cards/i/InfectiousInquiry.java
@@ -20,7 +20,7 @@ public final class InfectiousInquiry extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}");
// You draw two cards and you lose 2 life. Each opponent gets a poison counter.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, "you"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
this.getSpellAbility().addEffect(new AddCountersPlayersEffect(
CounterType.POISON.createInstance(), TargetController.OPPONENT
diff --git a/Mage.Sets/src/mage/cards/i/InfernalIdol.java b/Mage.Sets/src/mage/cards/i/InfernalIdol.java
index 52696eab5df..346a80a8400 100644
--- a/Mage.Sets/src/mage/cards/i/InfernalIdol.java
+++ b/Mage.Sets/src/mage/cards/i/InfernalIdol.java
@@ -27,7 +27,7 @@ public final class InfernalIdol extends CardImpl {
// {1}{B}{B}, {T}, Sacrifice Infernal Idol: You draw two cards and you lose 2 life.
Ability ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(2, "you"), new ManaCostsImpl<>("{1}{B}{B}")
+ new DrawCardSourceControllerEffect(2, true), new ManaCostsImpl<>("{1}{B}{B}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/i/Insight.java b/Mage.Sets/src/mage/cards/i/Insight.java
index cdb3e0286a9..7cbe56c9caf 100644
--- a/Mage.Sets/src/mage/cards/i/Insight.java
+++ b/Mage.Sets/src/mage/cards/i/Insight.java
@@ -28,7 +28,7 @@ public final class Insight extends CardImpl {
// Whenever an opponent casts a green spell, you draw a card.
- this.addAbility(new SpellCastOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), filter, false));
+ this.addAbility(new SpellCastOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1, true), filter, false));
}
private Insight(final Insight card) {
diff --git a/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java b/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java
index 821618b8e85..df1151f71db 100644
--- a/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java
+++ b/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java
@@ -46,7 +46,7 @@ public final class JaceTheLivingGuildpact extends CardImpl {
// -8: Each player shuffles their hand and graveyard into their library. You draw seven cards.
ability = new LoyaltyAbility(new ShuffleHandGraveyardAllEffect(), -8);
- ability.addEffect(new DrawCardSourceControllerEffect(7, "you"));
+ ability.addEffect(new DrawCardSourceControllerEffect(7, true));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/j/JonIrenicusShatteredOne.java b/Mage.Sets/src/mage/cards/j/JonIrenicusShatteredOne.java
index 34cf44dd9bd..b894d0ddea8 100644
--- a/Mage.Sets/src/mage/cards/j/JonIrenicusShatteredOne.java
+++ b/Mage.Sets/src/mage/cards/j/JonIrenicusShatteredOne.java
@@ -56,7 +56,7 @@ public final class JonIrenicusShatteredOne extends CardImpl {
this.addAbility(ability);
// Whenever a creature you own but don't control attacks, you draw a card.
- this.addAbility(new AttacksAllTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), false, filter, SetTargetPointer.NONE, false));
+ this.addAbility(new AttacksAllTriggeredAbility(new DrawCardSourceControllerEffect(1, true), false, filter, SetTargetPointer.NONE, false));
}
private JonIrenicusShatteredOne(final JonIrenicusShatteredOne card) {super(card);}
diff --git a/Mage.Sets/src/mage/cards/k/KayaIntangibleSlayer.java b/Mage.Sets/src/mage/cards/k/KayaIntangibleSlayer.java
index 2265ad9e61f..53038628504 100644
--- a/Mage.Sets/src/mage/cards/k/KayaIntangibleSlayer.java
+++ b/Mage.Sets/src/mage/cards/k/KayaIntangibleSlayer.java
@@ -51,7 +51,7 @@ public final class KayaIntangibleSlayer extends CardImpl {
this.addAbility(ability);
// 0: You draw two cards. Then each opponent may scry 1.
- ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(2, "you"), 0);
+ ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(2, true), 0);
ability.addEffect(new KayaIntangibleSlayerScryEffect());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java b/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java
index f3cded01623..8e7ba495dcc 100644
--- a/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java
+++ b/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java
@@ -25,7 +25,7 @@ public final class LibraryOfLatNam extends CardImpl {
this.getSpellAbility().getModes().setChooseController(TargetController.OPPONENT);
// You draw three cards at the beginning of the next turn's upkeep;
- this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(3).setText("you draw three cards")), false));
+ this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(3, true)), false));
// or you search your library for a card, put that card into your hand, then shuffle your library.
this.getSpellAbility().addMode(new Mode(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false).setText("you search your library for a card, put that card into your hand, then shuffle")));
diff --git a/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java b/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java
index 149c493b4bd..155356bb856 100644
--- a/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java
+++ b/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java
@@ -27,7 +27,7 @@ public final class MalakirSoothsayer extends CardImpl {
this.toughness = new MageInt(4);
// Cohort — {T}, Tap an untapped Ally you control: You draw a card and you lose a life.
- Ability ability = new CohortAbility(new DrawCardSourceControllerEffect(1, "you"));
+ Ability ability = new CohortAbility(new DrawCardSourceControllerEffect(1, true));
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MephiticDraught.java b/Mage.Sets/src/mage/cards/m/MephiticDraught.java
index 5830e1946af..ddade4687a0 100644
--- a/Mage.Sets/src/mage/cards/m/MephiticDraught.java
+++ b/Mage.Sets/src/mage/cards/m/MephiticDraught.java
@@ -20,7 +20,7 @@ public final class MephiticDraught extends CardImpl {
// When Mephitic Draught enters the battlefield or is put into a graveyard from the battlefield, you draw a card and you lose 1 life.
Ability ability = new EntersBattlefieldOrDiesSourceTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"), false, false);
+ new DrawCardSourceControllerEffect(1, true), false, false);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MercilessHarlequin.java b/Mage.Sets/src/mage/cards/m/MercilessHarlequin.java
index 7d35310fc1b..9d6c1a9f0bc 100644
--- a/Mage.Sets/src/mage/cards/m/MercilessHarlequin.java
+++ b/Mage.Sets/src/mage/cards/m/MercilessHarlequin.java
@@ -30,7 +30,7 @@ public final class MercilessHarlequin extends CardImpl {
this.addAbility(new FreerunningAbility("{1}{B}"));
// When Merciless Harlequin enters the battlefield, you draw a card and you lose 1 life.
- Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"));
+ Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1, true));
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java b/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java
index b6482e50784..8d56e6ae3c1 100644
--- a/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java
+++ b/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java
@@ -24,7 +24,7 @@ public final class MetalspinnersPuzzleknot extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// When Metalspinner's Puzzleknot enters the battlefield, you draw a card and you lose 1 life.
- Effect drawEffect = new DrawCardSourceControllerEffect(1, "you");
+ Effect drawEffect = new DrawCardSourceControllerEffect(1, true);
Ability ability = new EntersBattlefieldTriggeredAbility(drawEffect);
Effect lifeEffect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(lifeEffect.concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/m/MidnightEntourage.java b/Mage.Sets/src/mage/cards/m/MidnightEntourage.java
index 2c6aaadb492..cd4a2409985 100644
--- a/Mage.Sets/src/mage/cards/m/MidnightEntourage.java
+++ b/Mage.Sets/src/mage/cards/m/MidnightEntourage.java
@@ -39,7 +39,7 @@ public final class MidnightEntourage extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
// Whenever Midnight Entourage or another Aetherborn you control dies, you draw a card and you lose 1 life.
- Ability ability = new DiesThisOrAnotherTriggeredAbility(new DrawCardSourceControllerEffect(1, "you"), false, filter);
+ Ability ability = new DiesThisOrAnotherTriggeredAbility(new DrawCardSourceControllerEffect(1, true), false, filter);
Effect effect = new LoseLifeSourceControllerEffect(1);
ability.addEffect(effect.concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/Mindculling.java b/Mage.Sets/src/mage/cards/m/Mindculling.java
index 1daf5d3e7cf..a0df037fc90 100644
--- a/Mage.Sets/src/mage/cards/m/Mindculling.java
+++ b/Mage.Sets/src/mage/cards/m/Mindculling.java
@@ -19,7 +19,7 @@ public final class Mindculling extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{U}");
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, "you"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addTarget(new TargetOpponent());
this.getSpellAbility().addEffect(new DiscardTargetEffect(2).concatBy("and"));
}
diff --git a/Mage.Sets/src/mage/cards/m/MordorMuster.java b/Mage.Sets/src/mage/cards/m/MordorMuster.java
index 0bbefa97f91..eeba895e7ca 100644
--- a/Mage.Sets/src/mage/cards/m/MordorMuster.java
+++ b/Mage.Sets/src/mage/cards/m/MordorMuster.java
@@ -19,7 +19,7 @@ public final class MordorMuster extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}");
// You draw a card and you lose 1 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1, "you"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
// Amass Orcs 1.
diff --git a/Mage.Sets/src/mage/cards/m/MosswoodDreadknight.java b/Mage.Sets/src/mage/cards/m/MosswoodDreadknight.java
index 79c894c699b..64f2703bb4f 100644
--- a/Mage.Sets/src/mage/cards/m/MosswoodDreadknight.java
+++ b/Mage.Sets/src/mage/cards/m/MosswoodDreadknight.java
@@ -37,7 +37,7 @@ public final class MosswoodDreadknight extends AdventureCard {
// Dread Whispers
// You draw a card and you lose 1 life.
- this.getSpellCard().getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1, "you"));
+ this.getSpellCard().getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1, true));
this.getSpellCard().getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.finalizeAdventure();
diff --git a/Mage.Sets/src/mage/cards/n/NightsWhisper.java b/Mage.Sets/src/mage/cards/n/NightsWhisper.java
index 2f5a296d983..3bbcb8b6dc3 100644
--- a/Mage.Sets/src/mage/cards/n/NightsWhisper.java
+++ b/Mage.Sets/src/mage/cards/n/NightsWhisper.java
@@ -19,7 +19,7 @@ public final class NightsWhisper extends CardImpl {
// You draw two cards and you lose 2 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("you draw two cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
}
diff --git a/Mage.Sets/src/mage/cards/n/Nothic.java b/Mage.Sets/src/mage/cards/n/Nothic.java
index c5dc95e9711..9aaab156389 100644
--- a/Mage.Sets/src/mage/cards/n/Nothic.java
+++ b/Mage.Sets/src/mage/cards/n/Nothic.java
@@ -30,21 +30,21 @@ public final class Nothic extends CardImpl {
// 1-9 | You draw a card and you lose 1 life.
effect.addTableEntry(
1, 9,
- new DrawCardSourceControllerEffect(1, "you"),
+ new DrawCardSourceControllerEffect(1, true),
new LoseLifeSourceControllerEffect(1).concatBy("and")
);
// 10-19 | You draw two cards and you lose 2 life.
effect.addTableEntry(
10, 19,
- new DrawCardSourceControllerEffect(2, "you"),
+ new DrawCardSourceControllerEffect(2, true),
new LoseLifeSourceControllerEffect(2).concatBy("and")
);
// 20 | You draw seven cards and you lose 7 life.
effect.addTableEntry(
20, 20,
- new DrawCardSourceControllerEffect(7, "you"),
+ new DrawCardSourceControllerEffect(7, true),
new LoseLifeSourceControllerEffect(7).concatBy("and")
);
diff --git a/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java b/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java
index c159d911a68..73e09778977 100644
--- a/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java
+++ b/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java
@@ -30,7 +30,7 @@ public final class ObNixilisReignited extends CardImpl {
this.setStartingLoyalty(5);
// +1: You draw a card and you lose 1 life.
- Effect effect = new DrawCardSourceControllerEffect(1, "you");
+ Effect effect = new DrawCardSourceControllerEffect(1, true);
LoyaltyAbility ability1 = new LoyaltyAbility(effect, 1);
effect = new LoseLifeSourceControllerEffect(1);
ability1.addEffect(effect.concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianArena.java b/Mage.Sets/src/mage/cards/p/PhyrexianArena.java
index 0d1f3227b7d..d7b6b642f2f 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianArena.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianArena.java
@@ -21,7 +21,7 @@ public final class PhyrexianArena extends CardImpl {
// At the beginning of your upkeep, you draw a card and you lose 1 life.
Ability ability = new BeginningOfUpkeepTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"), TargetController.YOU, false
+ new DrawCardSourceControllerEffect(1, true), TargetController.YOU, false
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java b/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java
index d79d5f59e2e..ce073ec9679 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java
@@ -24,7 +24,7 @@ public final class PhyrexianGargantua extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(4);
- Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2, "you"), false);
+ Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2, true), false);
ability.addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/p/PointedDiscussion.java b/Mage.Sets/src/mage/cards/p/PointedDiscussion.java
index 244c6f72635..922ae747376 100644
--- a/Mage.Sets/src/mage/cards/p/PointedDiscussion.java
+++ b/Mage.Sets/src/mage/cards/p/PointedDiscussion.java
@@ -19,7 +19,7 @@ public final class PointedDiscussion extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}");
// You draw two cards, lose 2 life, then create a Blood token.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("you draw two cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2).setText(", lose 2 life"));
this.getSpellAbility().addEffect(new CreateTokenEffect(new BloodToken()).concatBy(", then"));
}
diff --git a/Mage.Sets/src/mage/cards/p/PreacherOfTheSchism.java b/Mage.Sets/src/mage/cards/p/PreacherOfTheSchism.java
index a38b0d926bf..2687e671cac 100644
--- a/Mage.Sets/src/mage/cards/p/PreacherOfTheSchism.java
+++ b/Mage.Sets/src/mage/cards/p/PreacherOfTheSchism.java
@@ -92,7 +92,7 @@ class PreacherOfTheSchismFirstTrigger extends TriggeredAbilityImpl {
class PreacherOfTheSchismSecondTrigger extends TriggeredAbilityImpl {
public PreacherOfTheSchismSecondTrigger() {
- super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1, "you"), false);
+ super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1, true), false);
this.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
setTriggerPhrase("Whenever {this} attacks while you have the most life or are tied for most life, ");
}
diff --git a/Mage.Sets/src/mage/cards/r/RowansGrimSearch.java b/Mage.Sets/src/mage/cards/r/RowansGrimSearch.java
index 71bea35292f..b8385e03555 100644
--- a/Mage.Sets/src/mage/cards/r/RowansGrimSearch.java
+++ b/Mage.Sets/src/mage/cards/r/RowansGrimSearch.java
@@ -33,7 +33,7 @@ public final class RowansGrimSearch extends CardImpl {
));
// You draw two cards and you lose 2 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, "you").concatBy("
"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true).concatBy("
"));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScrapworkRager.java b/Mage.Sets/src/mage/cards/s/ScrapworkRager.java
index d04c23ed2fb..b7288255a91 100644
--- a/Mage.Sets/src/mage/cards/s/ScrapworkRager.java
+++ b/Mage.Sets/src/mage/cards/s/ScrapworkRager.java
@@ -29,7 +29,7 @@ public final class ScrapworkRager extends CardImpl {
// When Scrapwork Rager enters the battlefield, you draw a card and you lose 1 life.
Ability ability = new EntersBattlefieldTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"), false
+ new DrawCardSourceControllerEffect(1, true), false
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShadowsLair.java b/Mage.Sets/src/mage/cards/s/ShadowsLair.java
index 4d9ac425ebb..fed50911cb7 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowsLair.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowsLair.java
@@ -32,7 +32,7 @@ public final class ShadowsLair extends CardImpl {
// {B}, {T}, Remove a dread counter from Shadows' Lair: You draw a card and you lose 1 life.
Ability ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(1, "you"), new ManaCostsImpl<>("{B}")
+ new DrawCardSourceControllerEffect(1, true), new ManaCostsImpl<>("{B}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new RemoveCountersSourceCost(CounterType.DREAD.createInstance()));
diff --git a/Mage.Sets/src/mage/cards/s/SimonWildMagicSorcerer.java b/Mage.Sets/src/mage/cards/s/SimonWildMagicSorcerer.java
index 0e61f1808c6..649581c65d7 100644
--- a/Mage.Sets/src/mage/cards/s/SimonWildMagicSorcerer.java
+++ b/Mage.Sets/src/mage/cards/s/SimonWildMagicSorcerer.java
@@ -47,7 +47,7 @@ public final class SimonWildMagicSorcerer extends CardImpl {
effect.addTableEntry(1, 9, new DrawCardAllEffect(1));
// 10-19 | You draw a card.
- effect.addTableEntry(10, 19, new DrawCardSourceControllerEffect(1, "you"));
+ effect.addTableEntry(10, 19, new DrawCardSourceControllerEffect(1, true));
// 20 | Copy that spell. You may choose new targets for the copy.
effect.addTableEntry(20, 20, new CopyTargetStackObjectEffect());
diff --git a/Mage.Sets/src/mage/cards/s/SuccumbToTemptation.java b/Mage.Sets/src/mage/cards/s/SuccumbToTemptation.java
index 28f86e07710..1bc3d402ae8 100644
--- a/Mage.Sets/src/mage/cards/s/SuccumbToTemptation.java
+++ b/Mage.Sets/src/mage/cards/s/SuccumbToTemptation.java
@@ -18,7 +18,7 @@ public final class SuccumbToTemptation extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{B}{B}");
// You draw two cards and you lose 2 life.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, "you"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
Effect effect = new LoseLifeSourceControllerEffect(2);
effect.setText("and you lose 2 life");
this.getSpellAbility().addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java b/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java
index c1867aa45a2..8c34a3adb05 100644
--- a/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java
+++ b/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java
@@ -42,7 +42,7 @@ public final class SwordOfFireAndIce extends CardImpl {
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
new DamageTargetEffect(2), "equipped creature", false
);
- ability.addEffect(new DrawCardSourceControllerEffect(1, "you").concatBy("and"));
+ ability.addEffect(new DrawCardSourceControllerEffect(1, true).concatBy("and"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/t/TalionTheKindlyLord.java b/Mage.Sets/src/mage/cards/t/TalionTheKindlyLord.java
index 3ebba0e0807..ba8037a083a 100644
--- a/Mage.Sets/src/mage/cards/t/TalionTheKindlyLord.java
+++ b/Mage.Sets/src/mage/cards/t/TalionTheKindlyLord.java
@@ -54,7 +54,7 @@ public final class TalionTheKindlyLord extends CardImpl {
.setText("that player loses 2 life"),
filter, false, SetTargetPointer.PLAYER
);
- ability.addEffect(new DrawCardSourceControllerEffect(1, "you").concatBy("and"));
+ ability.addEffect(new DrawCardSourceControllerEffect(1, true).concatBy("and"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/t/TegwyllDukeOfSplendor.java b/Mage.Sets/src/mage/cards/t/TegwyllDukeOfSplendor.java
index 2434055d44d..4c2c65d6f1d 100644
--- a/Mage.Sets/src/mage/cards/t/TegwyllDukeOfSplendor.java
+++ b/Mage.Sets/src/mage/cards/t/TegwyllDukeOfSplendor.java
@@ -55,7 +55,7 @@ public final class TegwyllDukeOfSplendor extends CardImpl {
// Whenever another Faerie you control dies, you draw a card and you lose 1 life.
Ability ability = new DiesCreatureTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"),
+ new DrawCardSourceControllerEffect(1, true),
false, filter2
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
diff --git a/Mage.Sets/src/mage/cards/t/TithebearerGiant.java b/Mage.Sets/src/mage/cards/t/TithebearerGiant.java
index b595d69af8c..af75bc77f18 100644
--- a/Mage.Sets/src/mage/cards/t/TithebearerGiant.java
+++ b/Mage.Sets/src/mage/cards/t/TithebearerGiant.java
@@ -27,7 +27,7 @@ public final class TithebearerGiant extends CardImpl {
// When Tithebearer Giant enters the battlefield, you draw a card and you lose 1 life.
Ability ability = new EntersBattlefieldTriggeredAbility(
- new DrawCardSourceControllerEffect(1, "you"), false
+ new DrawCardSourceControllerEffect(1, true), false
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/t/TriarchPraetorian.java b/Mage.Sets/src/mage/cards/t/TriarchPraetorian.java
index a64c0e6b1a9..74af22368eb 100644
--- a/Mage.Sets/src/mage/cards/t/TriarchPraetorian.java
+++ b/Mage.Sets/src/mage/cards/t/TriarchPraetorian.java
@@ -32,7 +32,7 @@ public final class TriarchPraetorian extends CardImpl {
// Dynastic Codes -- When Triarch Praetorian enters the battlefield from a graveyard, you draw two cards and you lose 2 life.
Ability ability = new EntersBattlefieldFromGraveyardTriggeredAbility(
- new DrawCardSourceControllerEffect(2, "you")
+ new DrawCardSourceControllerEffect(2, true)
);
ability.addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and"));
this.addAbility(ability.withFlavorWord("Dynastic Codes"));
diff --git a/Mage.Sets/src/mage/cards/u/UrzasBauble.java b/Mage.Sets/src/mage/cards/u/UrzasBauble.java
index 2dc4b4b79f1..e7d9f10a160 100644
--- a/Mage.Sets/src/mage/cards/u/UrzasBauble.java
+++ b/Mage.Sets/src/mage/cards/u/UrzasBauble.java
@@ -35,7 +35,7 @@ public final class UrzasBauble extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookAtRandomCardEffect(), new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPlayer());
- ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1, "you")), false));
+ ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1, true)), false));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/w/WordsOfWisdom.java b/Mage.Sets/src/mage/cards/w/WordsOfWisdom.java
index 7736cf275fa..1fe8ff3fe21 100644
--- a/Mage.Sets/src/mage/cards/w/WordsOfWisdom.java
+++ b/Mage.Sets/src/mage/cards/w/WordsOfWisdom.java
@@ -24,7 +24,7 @@ public final class WordsOfWisdom extends CardImpl {
// You draw two cards, then each other player draws a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("you draw two cards"));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new WordsOfWisdomEffect());
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java
index 87c881113d4..56df0abd2a0 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DrawCardSourceControllerEffect.java
@@ -1,9 +1,7 @@
package mage.abilities.effects.common;
import mage.abilities.Ability;
-import mage.abilities.Mode;
import mage.abilities.dynamicvalue.DynamicValue;
-import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect;
import mage.constants.Outcome;
@@ -19,21 +17,21 @@ public class DrawCardSourceControllerEffect extends OneShotEffect {
protected DynamicValue amount;
public DrawCardSourceControllerEffect(int amount) {
- this(amount, "");
+ this(amount, false);
}
- public DrawCardSourceControllerEffect(int amount, String whoDrawCard) {
- this(StaticValue.get(amount), whoDrawCard);
+ public DrawCardSourceControllerEffect(int amount, boolean youDraw) {
+ this(StaticValue.get(amount), youDraw);
}
public DrawCardSourceControllerEffect(DynamicValue amount) {
- this(amount, "");
+ this(amount, false);
}
- public DrawCardSourceControllerEffect(DynamicValue amount, String whoDrawCard) {
+ public DrawCardSourceControllerEffect(DynamicValue amount, boolean youDraw) {
super(Outcome.DrawCard);
this.amount = amount.copy();
- createStaticText(whoDrawCard);
+ createStaticText(youDraw);
}
protected DrawCardSourceControllerEffect(final DrawCardSourceControllerEffect effect) {
@@ -57,9 +55,13 @@ public class DrawCardSourceControllerEffect extends OneShotEffect {
return false;
}
- private void createStaticText(String whoDrawCard) {
- StringBuilder sb = new StringBuilder(whoDrawCard);
- sb.append(whoDrawCard.isEmpty() ? "draw " : " draw ");
+ private void createStaticText(boolean youDraw) {
+ StringBuilder sb = new StringBuilder();
+ if (youDraw){
+ sb.append("you draw ");
+ } else {
+ sb.append("draw ");
+ }
String value = amount.toString();
sb.append(CardUtil.numberToText(value, "a"));
sb.append(value.equals("1") ? " card" : " cards");
diff --git a/Mage/src/main/java/mage/game/command/emblems/TyvarKellEmblem.java b/Mage/src/main/java/mage/game/command/emblems/TyvarKellEmblem.java
index bd57d94a4df..46b301b521e 100644
--- a/Mage/src/main/java/mage/game/command/emblems/TyvarKellEmblem.java
+++ b/Mage/src/main/java/mage/game/command/emblems/TyvarKellEmblem.java
@@ -33,7 +33,7 @@ public final class TyvarKellEmblem extends Emblem {
HasteAbility.getInstance(), Duration.EndOfTurn, null, true
).setText("it gains haste until end of turn"), filter, false, SetTargetPointer.CARD
);
- ability.addEffect(new DrawCardSourceControllerEffect(2, "you").concatBy("and"));
+ ability.addEffect(new DrawCardSourceControllerEffect(2, true).concatBy("and"));
this.getAbilities().add(ability);
}