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); }