diff --git a/Mage.Sets/src/mage/sets/alarareborn/Brainbite.java b/Mage.Sets/src/mage/sets/alarareborn/Brainbite.java index 0ab81963497..9b919b1d0f4 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/Brainbite.java +++ b/Mage.Sets/src/mage/sets/alarareborn/Brainbite.java @@ -28,7 +28,7 @@ package mage.sets.alarareborn; import java.util.UUID; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.discard.DiscardCardYouChooseTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -51,7 +51,7 @@ public class Brainbite extends CardImpl { // Target opponent reveals his or her hand. You choose a card from it. That player discards that card. this.getSpellAbility().addEffect(new DiscardCardYouChooseTargetEffect()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetOpponent()); } diff --git a/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java b/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java index 7ebc43da3ca..51062964959 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java +++ b/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Duration; @@ -113,7 +113,7 @@ class SkipYourDrawStepEffect extends ReplacementEffectImpl { public DragonAppeasementTriggeredAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); } public DragonAppeasementTriggeredAbility(final DragonAppeasementTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/sets/alarareborn/MaskOfRiddles.java b/Mage.Sets/src/mage/sets/alarareborn/MaskOfRiddles.java index caf5b887054..fc073a9fa12 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/MaskOfRiddles.java +++ b/Mage.Sets/src/mage/sets/alarareborn/MaskOfRiddles.java @@ -33,7 +33,7 @@ import mage.constants.*; import mage.abilities.common.DealsDamageToAPlayerAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EquipAbility; import mage.abilities.keyword.FearAbility; @@ -56,7 +56,7 @@ public class MaskOfRiddles extends CardImpl { // Equipped creature has fear. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FearAbility.getInstance(), AttachmentType.EQUIPMENT))); // Whenever equipped creature deals combat damage to a player, you may draw a card. - this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new DrawCardControllerEffect(1), "equipped", true)); + this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new DrawCardSourceControllerEffect(1), "equipped", true)); // Equip {2} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); } diff --git a/Mage.Sets/src/mage/sets/alarareborn/MessengerFalcons.java b/Mage.Sets/src/mage/sets/alarareborn/MessengerFalcons.java index 0240df897b8..4a608ad77fd 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/MessengerFalcons.java +++ b/Mage.Sets/src/mage/sets/alarareborn/MessengerFalcons.java @@ -30,7 +30,7 @@ package mage.sets.alarareborn; import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -57,7 +57,7 @@ public class MessengerFalcons extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Messenger Falcons enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public MessengerFalcons(final MessengerFalcons card) { diff --git a/Mage.Sets/src/mage/sets/alarareborn/VedalkenHeretic.java b/Mage.Sets/src/mage/sets/alarareborn/VedalkenHeretic.java index 71322806e6a..7a5909ce4af 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/VedalkenHeretic.java +++ b/Mage.Sets/src/mage/sets/alarareborn/VedalkenHeretic.java @@ -30,7 +30,7 @@ package mage.sets.alarareborn; import java.util.UUID; import mage.MageInt; import mage.abilities.effects.common.DealsDamageToOpponentTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -53,7 +53,7 @@ public class VedalkenHeretic extends CardImpl { this.toughness = new MageInt(1); // Whenever Vedalken Heretic deals damage to an opponent, you may draw a card. - this.addAbility(new DealsDamageToOpponentTriggeredAbility(new DrawCardControllerEffect(1), true)); + this.addAbility(new DealsDamageToOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); } diff --git a/Mage.Sets/src/mage/sets/antiquities/SageOfLatNam.java b/Mage.Sets/src/mage/sets/antiquities/SageOfLatNam.java index df011eebac6..e6a0e9d489d 100644 --- a/Mage.Sets/src/mage/sets/antiquities/SageOfLatNam.java +++ b/Mage.Sets/src/mage/sets/antiquities/SageOfLatNam.java @@ -36,7 +36,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -67,7 +67,7 @@ public class SageOfLatNam extends CardImpl { this.toughness = new MageInt(2); // {T}, Sacrifice an artifact: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/AbundantGrowth.java b/Mage.Sets/src/mage/sets/avacynrestored/AbundantGrowth.java index 5ab03384a0f..5d606f3d0af 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/AbundantGrowth.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/AbundantGrowth.java @@ -33,7 +33,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.mana.AnyColorManaAbility; @@ -63,7 +63,7 @@ public class AbundantGrowth extends CardImpl { this.addAbility(ability); // When Abundant Growth enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); // Enchanted land has "{tap}: Add one mana of any color to your mana pool." Ability gainedAbility = new AnyColorManaAbility(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/AlchemistsApprentice.java b/Mage.Sets/src/mage/sets/avacynrestored/AlchemistsApprentice.java index eb3f096a383..be083eaed0c 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/AlchemistsApprentice.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/AlchemistsApprentice.java @@ -32,7 +32,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -55,7 +55,7 @@ public class AlchemistsApprentice extends CardImpl { this.toughness = new MageInt(1); // Sacrifice Alchemist's Apprentice: Draw a card. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new SacrificeSourceCost())); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/CripplingChill.java b/Mage.Sets/src/mage/sets/avacynrestored/CripplingChill.java index cec1ad8f4e1..9c7c8351622 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/CripplingChill.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/CripplingChill.java @@ -29,7 +29,7 @@ package mage.sets.avacynrestored; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.SkipNextUntapTargetEffect; import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; @@ -54,7 +54,7 @@ public class CripplingChill extends CardImpl { this.getSpellAbility().addEffect(new TapTargetEffect()); this.getSpellAbility().addEffect(new SkipNextUntapTargetEffect()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public CripplingChill(final CripplingChill card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/DangerousWager.java b/Mage.Sets/src/mage/sets/avacynrestored/DangerousWager.java index be5fae71e4c..398691e55e2 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/DangerousWager.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/DangerousWager.java @@ -33,7 +33,7 @@ import mage.constants.Outcome; import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.game.Game; @@ -53,7 +53,7 @@ public class DangerousWager extends CardImpl { // Discard your hand, then draw two cards. this.getSpellAbility().addEffect(new DangerousWagerEffect()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); } public DangerousWager(final DangerousWager card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/Griselbrand.java b/Mage.Sets/src/mage/sets/avacynrestored/Griselbrand.java index 2fb6537d89b..6ef3f20f150 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/Griselbrand.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/Griselbrand.java @@ -34,7 +34,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.PayLifeCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class Griselbrand extends CardImpl { this.addAbility(FlyingAbility.getInstance()); this.addAbility(LifelinkAbility.getInstance()); // Pay 7 life: Draw seven cards. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(7), new PayLifeCost(7))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(7), new PayLifeCost(7))); } public Griselbrand(final Griselbrand card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/GryffVanguard.java b/Mage.Sets/src/mage/sets/avacynrestored/GryffVanguard.java index 73bb89016ce..7287da38c3f 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/GryffVanguard.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/GryffVanguard.java @@ -31,7 +31,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -56,7 +56,7 @@ public class GryffVanguard extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Gryff Vanguard enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public GryffVanguard(final GryffVanguard card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/HarvesterOfSouls.java b/Mage.Sets/src/mage/sets/avacynrestored/HarvesterOfSouls.java index 555ca3e7c28..fcd3fca9cba 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/HarvesterOfSouls.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/HarvesterOfSouls.java @@ -31,7 +31,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DiesCreatureTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.filter.common.FilterCreaturePermanent; @@ -65,7 +65,7 @@ public class HarvesterOfSouls extends CardImpl { this.addAbility(DeathtouchAbility.getInstance()); // Whenever another nontoken creature dies, you may draw a card. - this.addAbility(new DiesCreatureTriggeredAbility(new DrawCardControllerEffect(1), true, filter)); + this.addAbility(new DiesCreatureTriggeredAbility(new DrawCardSourceControllerEffect(1), true, filter)); } public HarvesterOfSouls(final HarvesterOfSouls card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/LunarMystic.java b/Mage.Sets/src/mage/sets/avacynrestored/LunarMystic.java index a5268febaf3..a5bcee98f8b 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/LunarMystic.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/LunarMystic.java @@ -33,7 +33,7 @@ import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -63,7 +63,7 @@ public class LunarMystic extends CardImpl { this.toughness = new MageInt(2); // Whenever you cast an instant spell, you may pay {1}. If you do, draw a card. - this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new GenericManaCost(1)), filter, false)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(1)), filter, false)); } public LunarMystic(final LunarMystic card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/MadProphet.java b/Mage.Sets/src/mage/sets/avacynrestored/MadProphet.java index 37182216ebd..9772e62e4f6 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/MadProphet.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/MadProphet.java @@ -36,7 +36,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.constants.Zone; @@ -60,7 +60,7 @@ public class MadProphet extends CardImpl { this.addAbility(HasteAbility.getInstance()); // {tap}, Discard a card: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); ability.addCost(new DiscardTargetCost(new TargetCardInHand())); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/MassAppeal.java b/Mage.Sets/src/mage/sets/avacynrestored/MassAppeal.java index aa48be75030..20ced1de129 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/MassAppeal.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/MassAppeal.java @@ -30,7 +30,7 @@ package mage.sets.avacynrestored; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -56,7 +56,7 @@ public class MassAppeal extends CardImpl { this.color.setBlue(true); // Draw a card for each Human you control. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter))); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter))); } public MassAppeal(final MassAppeal card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/ScrollOfAvacyn.java b/Mage.Sets/src/mage/sets/avacynrestored/ScrollOfAvacyn.java index 762618ab145..60e1d6304ea 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/ScrollOfAvacyn.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/ScrollOfAvacyn.java @@ -37,7 +37,7 @@ import mage.abilities.condition.common.ControlsPermanentCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -60,7 +60,7 @@ public class ScrollOfAvacyn extends CardImpl { this.expansionSetCode = "AVR"; // {1}, Sacrifice Scroll of Avacyn: Draw a card. If you control an Angel, you gain 5 life. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); ability.addCost(new SacrificeSourceCost()); ability.addEffect(new ConditionalOneShotEffect(new GainLifeEffect(5), new ControlsPermanentCondition(filter), "If you control an Angel, you gain 5 life")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/SoulOfTheHarvest.java b/Mage.Sets/src/mage/sets/avacynrestored/SoulOfTheHarvest.java index 3611bba859c..9988ffd6e93 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/SoulOfTheHarvest.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/SoulOfTheHarvest.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.filter.FilterPermanent; @@ -66,7 +66,7 @@ public class SoulOfTheHarvest extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // Whenever another nontoken creature enters the battlefield under your control, you may draw a card. - this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), filter, true)); + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), filter, true)); } public SoulOfTheHarvest(final SoulOfTheHarvest card) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java b/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java index 6a4ac015c3c..3582ee6c6f5 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java @@ -40,7 +40,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.SkipNextUntapTargetEffect; import mage.abilities.effects.common.TapTargetEffect; @@ -86,7 +86,7 @@ public class TamiyoTheMoonSage extends CardImpl { this.addAbility(ability); // -2: Draw a card for each tapped creature target player controls. - ability = new LoyaltyAbility(new DrawCardControllerEffect(new TappedCreaturesControlledByTargetCount()), -2); + ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(new TappedCreaturesControlledByTargetCount()), -2); ability.addTarget(new TargetPlayer(true)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/TandemLookout.java b/Mage.Sets/src/mage/sets/avacynrestored/TandemLookout.java index 68454aceb45..ac63b765c9d 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/TandemLookout.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/TandemLookout.java @@ -33,7 +33,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.DealsDamageToOpponentTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityPairedEffect; import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; @@ -62,7 +62,7 @@ public class TandemLookout extends CardImpl { this.addAbility(SoulbondAbility.getInstance()); // As long as Tandem Lookout is paired with another creature, each of those creatures has "Whenever this creature deals damage to an opponent, draw a card." - Ability ability = new DealsDamageToOpponentTriggeredAbility(new DrawCardControllerEffect(1)); + Ability ability = new DealsDamageToOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1)); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(ability, ruleText))); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfFerocity.java b/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfFerocity.java index e4b3dee001f..26da7a893dd 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfFerocity.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfFerocity.java @@ -33,7 +33,7 @@ import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.ControlsBiggestOrTiedCreatureCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.TargetController; @@ -53,7 +53,7 @@ public class TriumphOfFerocity extends CardImpl { this.color.setGreen(true); // At the beginning of your upkeep, draw a card if you control the creature with the greatest power or tied for the greatest power. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(1), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false); this.addAbility(new ConditionalTriggeredAbility(ability, ControlsBiggestOrTiedCreatureCondition.getInstance(), ruleText)); } diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/NinjaOfTheDeepHours.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/NinjaOfTheDeepHours.java index cc56b1d597c..fe9e36c6abb 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/NinjaOfTheDeepHours.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/NinjaOfTheDeepHours.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; @@ -56,7 +56,7 @@ public class NinjaOfTheDeepHours extends CardImpl { this.addAbility(new NinjutsuAbility(new ManaCostsImpl("{1}{U}"))); // Whenever Ninja of the Deep Hours deals combat damage to a player, you may draw a card. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), true, false)); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true, false)); } public NinjaOfTheDeepHours(final NinjaOfTheDeepHours card) { diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/PatronOfTheMoon.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/PatronOfTheMoon.java index fdbbf9de289..4358d843a43 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/PatronOfTheMoon.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/PatronOfTheMoon.java @@ -44,7 +44,7 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterLandCard; import mage.game.Game; -import mage.game.permanent.Permanent; +import mage.players.Player; import mage.target.common.TargetCardInHand; @@ -97,17 +97,17 @@ class PatronOfTheMoonEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - for (UUID cardId : targetPointer.getTargets(game, source)) { - Card c = game.getCard(cardId); - if (c != null) { - c.moveToZone(Zone.BATTLEFIELD, source.getSourceId(), game, false); - Permanent land = game.getPermanent(cardId); - if (land != null) { - land.setTapped(true); + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + for (UUID cardId : targetPointer.getTargets(game, source)) { + Card card = game.getCard(cardId); + if (card != null) { + controller.putOntoBattlefieldWithInfo(card, game, Zone.HAND, source.getSourceId(), true); } } + return true; } - return true; + return false; } @Override diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/RibbonsOfTheReikai.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/RibbonsOfTheReikai.java index 9bf379407a5..d7df7c4040b 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/RibbonsOfTheReikai.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/RibbonsOfTheReikai.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -55,7 +55,7 @@ public class RibbonsOfTheReikai extends CardImpl { this.color.setBlue(true); // Draw a card for each Spirit you control. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter))); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter))); } public RibbonsOfTheReikai(final RibbonsOfTheReikai card) { diff --git a/Mage.Sets/src/mage/sets/bornofthegods/EpharaGodOfThePolis.java b/Mage.Sets/src/mage/sets/bornofthegods/EpharaGodOfThePolis.java index e3d82d3805f..b3df2068946 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/EpharaGodOfThePolis.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/EpharaGodOfThePolis.java @@ -36,7 +36,7 @@ import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.LoseCreatureTypeSourceEffect; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; @@ -77,7 +77,7 @@ public class EpharaGodOfThePolis extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card. this.addAbility(new ConditionalTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), TargetController.ANY, false), + new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), TargetController.ANY, false), HadAnotherCreatureEnterTheBattlefieldCondition.getInstance(), "At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.")); this.addWatcher(new CreatureEnteredBattlefieldLastTurnWatcher()); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/EpiphanyStorm.java b/Mage.Sets/src/mage/sets/bornofthegods/EpiphanyStorm.java index dc54a48428c..f5054c8dff9 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/EpiphanyStorm.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/EpiphanyStorm.java @@ -35,7 +35,7 @@ import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; @@ -68,7 +68,7 @@ public class EpiphanyStorm extends CardImpl { this.addAbility(ability); // Enchanted creature has "{R}, {T}, Discard a card: Draw a card." - Ability drawAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{R}")); + Ability drawAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}")); drawAbility.addCost(new TapSourceCost()); drawAbility.addCost(new DiscardCardCost()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(drawAbility, AttachmentType.AURA))); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/GrislyTransformation.java b/Mage.Sets/src/mage/sets/bornofthegods/GrislyTransformation.java index fb3ec9b18a6..1e1cc788d54 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/GrislyTransformation.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/GrislyTransformation.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.IntimidateAbility; @@ -66,7 +66,7 @@ public class GrislyTransformation extends CardImpl { Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // When Grisly Transformation enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); // Enchanted creature has intimidate. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(IntimidateAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield))); } diff --git a/Mage.Sets/src/mage/sets/bornofthegods/KarametrasFavor.java b/Mage.Sets/src/mage/sets/bornofthegods/KarametrasFavor.java index 88609d780dd..595ba5b8d82 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/KarametrasFavor.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/KarametrasFavor.java @@ -33,7 +33,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.mana.AnyColorManaAbility; @@ -68,7 +68,7 @@ public class KarametrasFavor extends CardImpl { this.addAbility(ability); // When Karametra's Favor enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); // Enchanted creature has "{T}: Add one mana of any color to your mana pool." Effect effect = new GainAbilityAttachedEffect(new AnyColorManaAbility(), AttachmentType.AURA, Duration.WhileOnBattlefield); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/KioraTheCrashingWave.java b/Mage.Sets/src/mage/sets/bornofthegods/KioraTheCrashingWave.java index ba518087dce..8818424f55e 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/KioraTheCrashingWave.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/KioraTheCrashingWave.java @@ -36,7 +36,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.PreventionEffectImpl; import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.continious.PlayAdditionalLandsControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -86,7 +86,7 @@ public class KioraTheCrashingWave extends CardImpl { this.addAbility(ability); // -1: Draw a card. You may play an additional land this turn. - ability = new LoyaltyAbility(new DrawCardControllerEffect(1), -1); + ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), -1); ability.addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/OraclesInsight.java b/Mage.Sets/src/mage/sets/bornofthegods/OraclesInsight.java index 5dcee45dd82..f61d4acc780 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/OraclesInsight.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/OraclesInsight.java @@ -34,7 +34,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ScryEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; @@ -69,7 +69,7 @@ public class OraclesInsight extends CardImpl { this.addAbility(ability); // Enchanted creature has "{T}: Scry 1, then draw a card." ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new TapSourceCost()); - Effect effect = new DrawCardControllerEffect(1); + Effect effect = new DrawCardSourceControllerEffect(1); effect.setText("then draw a card"); ability.addEffect(effect); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.AURA, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/Sanguimancy.java b/Mage.Sets/src/mage/sets/bornofthegods/Sanguimancy.java index 7e526130ba7..2ea2ed58968 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/Sanguimancy.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/Sanguimancy.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -52,7 +52,7 @@ public class Sanguimancy extends CardImpl { // You draw X cards and you lose X life, where X is your devotion to black. DynamicValue blackDevotion = new DevotionCount(ColoredManaSymbol.B); - Effect effect = new DrawCardControllerEffect(blackDevotion); + Effect effect = new DrawCardSourceControllerEffect(blackDevotion); effect.setText("You draw X cards"); this.getSpellAbility().addEffect(effect); effect = new LoseLifeSourceControllerEffect(blackDevotion); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/SphinxsDisciple.java b/Mage.Sets/src/mage/sets/bornofthegods/SphinxsDisciple.java index 4882595cf4e..24f6a3d4596 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/SphinxsDisciple.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/SphinxsDisciple.java @@ -29,7 +29,7 @@ package mage.sets.bornofthegods; import java.util.UUID; import mage.MageInt; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class SphinxsDisciple extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // Inspired - Whenever Sphinx's Disciple becomes untapped, draw a card. - this.addAbility(new InspiredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new InspiredAbility(new DrawCardSourceControllerEffect(1))); } public SphinxsDisciple(final SphinxsDisciple card) { diff --git a/Mage.Sets/src/mage/sets/bornofthegods/StratusWalk.java b/Mage.Sets/src/mage/sets/bornofthegods/StratusWalk.java index f30bbbc3202..6df969829bd 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/StratusWalk.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/StratusWalk.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.combat.CanBlockOnlyFlyingAttachedEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; @@ -67,7 +67,7 @@ public class StratusWalk extends CardImpl { Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // When Stratus Walk enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // Enchanted creature has flying. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield))); // Enchanted creature can block only creatures with flying. diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/AzamiLadyOfScrolls.java b/Mage.Sets/src/mage/sets/championsofkamigawa/AzamiLadyOfScrolls.java index 6a08351fddf..f2b90160811 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/AzamiLadyOfScrolls.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/AzamiLadyOfScrolls.java @@ -35,7 +35,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapTargetCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -65,7 +65,7 @@ public class AzamiLadyOfScrolls extends CardImpl { this.color.setBlue(true); this.power = new MageInt(0); this.toughness = new MageInt(2); - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapTargetCost(new TargetControlledPermanent(1, 1, filter, false)))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapTargetCost(new TargetControlledPermanent(1, 1, filter, false)))); } public AzamiLadyOfScrolls(final AzamiLadyOfScrolls card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/CounselOfTheSoratami.java b/Mage.Sets/src/mage/sets/championsofkamigawa/CounselOfTheSoratami.java index c8bdcdd951d..a6958e330df 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/CounselOfTheSoratami.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/CounselOfTheSoratami.java @@ -31,7 +31,7 @@ package mage.sets.championsofkamigawa; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -44,7 +44,7 @@ public class CounselOfTheSoratami extends CardImpl { super(ownerId, 55, "Counsel of the Soratami", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{U}"); this.expansionSetCode = "CHK"; this.color.setBlue(true); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); } public CounselOfTheSoratami (final CounselOfTheSoratami card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java b/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java index 4174d88de1f..3b02a2696ee 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java @@ -38,7 +38,7 @@ import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.game.Game; @@ -59,7 +59,7 @@ public class FloatingDreamZubera extends CardImpl { this.color.setBlue(true); this.power = new MageInt(1); this.toughness = new MageInt(2); - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(new ZuberasDiedDynamicValue()))); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(new ZuberasDiedDynamicValue()))); this.addWatcher(new ZuberasDiedWatcher()); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GlimpseOfNature.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GlimpseOfNature.java index b9494f05866..069e006e7a6 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/GlimpseOfNature.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GlimpseOfNature.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.DelayedTriggeredAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Duration; import mage.filter.FilterSpell; @@ -72,7 +72,7 @@ class GlimpseOfNatureTriggeredAbility extends DelayedTriggeredAbility { this.color.setBlue(true); // At the beginning of your upkeep, draw a card for each Shrine you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false)); } public HondenOfSeeingWinds(final HondenOfSeeingWinds card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/JushiApprentice.java b/Mage.Sets/src/mage/sets/championsofkamigawa/JushiApprentice.java index 408f3e67b57..afa65c8c230 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/JushiApprentice.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/JushiApprentice.java @@ -40,7 +40,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.dynamicvalue.common.CardsInControllerHandCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawCardTargetEffect; import mage.abilities.effects.common.FlipSourceEffect; import mage.cards.CardImpl; @@ -66,7 +66,7 @@ public class JushiApprentice extends CardImpl { this.flipCardName = "Tomoya the Revealer"; // {2}{U}, {tap}: Draw a card. If you have nine or more cards in hand, flip Jushi Apprentice. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{2}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{U}")); ability.addCost(new TapSourceCost()); ability.addEffect(new ConditionalOneShotEffect(new FlipSourceEffect(new TomoyaTheRevealer()), new CardsInHandCondition(CountType.MORE_THAN, 8), "If you have nine or more cards in hand, flip {this}")); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java index 3e97fc5bdad..1e628a695c6 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java @@ -41,7 +41,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.IndestructibleAbility; @@ -79,7 +79,7 @@ public class MyojinOfSeeingWinds extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), new SourceHasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Seeing Winds: Draw a card for each permanent you control. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter, 1)), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance())); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter, 1)), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance())); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/ReachThroughMists.java b/Mage.Sets/src/mage/sets/championsofkamigawa/ReachThroughMists.java index 19ba21bbc56..d3700fbe762 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/ReachThroughMists.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/ReachThroughMists.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -46,7 +46,7 @@ public class ReachThroughMists extends CardImpl { this.expansionSetCode = "CHK"; this.subtype.add("Arcane"); this.color.setBlue(true); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public ReachThroughMists (final ReachThroughMists card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SenseisDiviningTop.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SenseisDiviningTop.java index d9fa40cea2f..c9ca234bbed 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SenseisDiviningTop.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SenseisDiviningTop.java @@ -39,7 +39,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LookLibraryControllerEffect; import mage.cards.CardImpl; import mage.game.Game; @@ -54,7 +54,7 @@ public class SenseisDiviningTop extends CardImpl { super(ownerId, 268, "Sensei's Divining Top", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); this.expansionSetCode = "CHK"; this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryControllerEffect(3),new ManaCostsImpl("{1}"))); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1),new TapSourceCost()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),new TapSourceCost()); ability.addEffect(new SenseisDiviningTopEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SeshiroTheAnointed.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SeshiroTheAnointed.java index 9078460c8d5..886783204a7 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SeshiroTheAnointed.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SeshiroTheAnointed.java @@ -35,7 +35,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -85,7 +85,7 @@ public class SeshiroTheAnointed extends CardImpl { class SeshiroTheAnointedAbility extends TriggeredAbilityImpl { public SeshiroTheAnointedAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); } public SeshiroTheAnointedAbility(final SeshiroTheAnointedAbility ability) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SiftThroughSands.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SiftThroughSands.java index d548a2d59cf..43634aec21a 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SiftThroughSands.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SiftThroughSands.java @@ -33,7 +33,7 @@ import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -68,7 +68,7 @@ public class SiftThroughSands extends CardImpl { this.color.setBlue(true); // Draw two cards, then discard a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); Effect effect = new DiscardControllerEffect(1); effect.setText(", then discard a card"); this.getSpellAbility().addEffect(effect); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java index 5425a5a1edb..f8d61117c33 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SireOfTheStorm.java @@ -34,7 +34,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.filter.common.FilterSpiritOrArcaneCard; @@ -55,7 +55,7 @@ public class SireOfTheStorm extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, true)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, true)); } public SireOfTheStorm(final SireOfTheStorm card) { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Squelch.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Squelch.java index 45400f73351..ca0221739d7 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Squelch.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Squelch.java @@ -36,7 +36,7 @@ import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.filter.Filter; @@ -62,7 +62,7 @@ public class Squelch extends CardImpl { this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new ActivatedAbilityTarget()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Squelch(final Squelch card) { diff --git a/Mage.Sets/src/mage/sets/commander/PerilousResearch.java b/Mage.Sets/src/mage/sets/commander/PerilousResearch.java index d7d3026ef04..a064c049126 100644 --- a/Mage.Sets/src/mage/sets/commander/PerilousResearch.java +++ b/Mage.Sets/src/mage/sets/commander/PerilousResearch.java @@ -33,7 +33,7 @@ import mage.constants.Outcome; import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.game.Game; import mage.game.permanent.Permanent; @@ -54,7 +54,7 @@ public class PerilousResearch extends CardImpl { this.color.setBlue(true); // Draw two cards, then sacrifice a permanent. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addEffect(new PerilousResearchEffect()); } diff --git a/Mage.Sets/src/mage/sets/conflux/Kaleidostone.java b/Mage.Sets/src/mage/sets/conflux/Kaleidostone.java index 99458ffa555..11ce6e2aeb9 100644 --- a/Mage.Sets/src/mage/sets/conflux/Kaleidostone.java +++ b/Mage.Sets/src/mage/sets/conflux/Kaleidostone.java @@ -37,7 +37,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -52,7 +52,7 @@ public class Kaleidostone extends CardImpl { this.expansionSetCode = "CON"; // When Kaleidostone enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // {5}, {tap}, Sacrifice Kaleidostone: Add {W}{U}{B}{R}{G} to your mana pool. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 1, 1, 1, 0, 0), new GenericManaCost(5)); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/sets/conflux/RhoxMeditant.java b/Mage.Sets/src/mage/sets/conflux/RhoxMeditant.java index 85776aee5ae..9670f3e8348 100644 --- a/Mage.Sets/src/mage/sets/conflux/RhoxMeditant.java +++ b/Mage.Sets/src/mage/sets/conflux/RhoxMeditant.java @@ -34,7 +34,7 @@ import mage.abilities.TriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.ControlsPermanentCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -66,7 +66,7 @@ public class RhoxMeditant extends CardImpl { this.toughness = new MageInt(4); // When Rhox Meditant enters the battlefield, if you control a green permanent, draw a card. - TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false); + TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false); this.addAbility(new ConditionalTriggeredAbility(ability, new ControlsPermanentCondition(filter), rule)); } diff --git a/Mage.Sets/src/mage/sets/conflux/ScepterOfInsight.java b/Mage.Sets/src/mage/sets/conflux/ScepterOfInsight.java index 1cdce06f7f8..8d17cbab0a2 100644 --- a/Mage.Sets/src/mage/sets/conflux/ScepterOfInsight.java +++ b/Mage.Sets/src/mage/sets/conflux/ScepterOfInsight.java @@ -35,7 +35,7 @@ import mage.constants.Zone; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -49,7 +49,7 @@ public class ScepterOfInsight extends CardImpl { this.expansionSetCode = "CON"; this.color.setBlue(true); - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{3}{U}")); + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/darksteel/ArcaneSpyglass.java b/Mage.Sets/src/mage/sets/darksteel/ArcaneSpyglass.java index 13c42501a14..87dae1f1f70 100644 --- a/Mage.Sets/src/mage/sets/darksteel/ArcaneSpyglass.java +++ b/Mage.Sets/src/mage/sets/darksteel/ArcaneSpyglass.java @@ -38,7 +38,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -60,14 +60,14 @@ public class ArcaneSpyglass extends CardImpl { this.expansionSetCode = "DST"; // {2}, {T} , Sacrifice a land: Draw a card and put a charge counter on Arcane Spyglass. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(2)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); ability.addEffect(new AddCountersSourceEffect(CounterType.CHARGE.createInstance())); this.addAbility(ability); // Remove three charge counters from Arcane Spyglass: Draw a card. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3)))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3)))); } public ArcaneSpyglass (final ArcaneSpyglass card) { diff --git a/Mage.Sets/src/mage/sets/darksteel/Skullclamp.java b/Mage.Sets/src/mage/sets/darksteel/Skullclamp.java index a5cd06e63cb..61ad5952c43 100644 --- a/Mage.Sets/src/mage/sets/darksteel/Skullclamp.java +++ b/Mage.Sets/src/mage/sets/darksteel/Skullclamp.java @@ -34,7 +34,7 @@ import mage.constants.Rarity; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostEquippedEffect; import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class Skullclamp extends CardImpl { // Equipped creature gets +1/-1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, -1))); // Whenever equipped creature dies, draw two cards. - this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardControllerEffect(2), "equipped")); + this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2), "equipped")); // Equip {1} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); } diff --git a/Mage.Sets/src/mage/sets/darksteel/SwordOfFireAndIce.java b/Mage.Sets/src/mage/sets/darksteel/SwordOfFireAndIce.java index 559511db0d8..591c83acaf7 100644 --- a/Mage.Sets/src/mage/sets/darksteel/SwordOfFireAndIce.java +++ b/Mage.Sets/src/mage/sets/darksteel/SwordOfFireAndIce.java @@ -40,7 +40,7 @@ import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostEquippedEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EquipAbility; @@ -94,7 +94,7 @@ class SwordOfFireAndIceAbility extends TriggeredAbilityImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public PsychoticFury(final PsychoticFury card) { diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/AzoriusCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/AzoriusCluestone.java index e6050efaecb..ce5275ba3e8 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/AzoriusCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/AzoriusCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class AzoriusCluestone extends CardImpl { this.addAbility(new BlueManaAbility()); // {W}{U}, {T}, Sacrifice Azorius Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{W}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{W}{U}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/BeckCall.java b/Mage.Sets/src/mage/sets/dragonsmaze/BeckCall.java index 992c68e9d9d..14981505708 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/BeckCall.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/BeckCall.java @@ -35,7 +35,7 @@ import mage.constants.Rarity; import mage.abilities.DelayedTriggeredAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.SplitCard; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -88,7 +88,7 @@ class BeckTriggeredAbility extends DelayedTriggeredAbility private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); public BeckTriggeredAbility() { - super(new DrawCardControllerEffect(1), Duration.EndOfTurn, false); + super(new DrawCardSourceControllerEffect(1), Duration.EndOfTurn, false); optional = true; } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/BorosCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/BorosCluestone.java index 5203583cfa2..48bed693395 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/BorosCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/BorosCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.RedManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class BorosCluestone extends CardImpl { this.addAbility(new WhiteManaAbility()); // {R}{W}, {T}, Sacrifice Boros Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{R}{W}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/BredForTheHunt.java b/Mage.Sets/src/mage/sets/dragonsmaze/BredForTheHunt.java index f6a09753755..6bd12d53b81 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/BredForTheHunt.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/BredForTheHunt.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.counters.CounterType; import mage.game.Game; @@ -72,7 +72,7 @@ public class BredForTheHunt extends CardImpl { class BredForTheHuntTriggeredAbility extends TriggeredAbilityImpl { public BredForTheHuntTriggeredAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1)); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1)); this.optional = true; } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/DimirCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/DimirCluestone.java index a5c9eab4a71..45103139781 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/DimirCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/DimirCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class DimirCluestone extends CardImpl { this.addAbility(new BlackManaAbility()); // {U}{B}, {T}, Sacrifice Dimir Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{U}{B}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{U}{B}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/GolgariCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/GolgariCluestone.java index 006f8c25eeb..6ee58b01a26 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/GolgariCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/GolgariCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class GolgariCluestone extends CardImpl { this.addAbility(new GreenManaAbility()); // {B}{G}, {T}, Sacrifice Golgari Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{B}{G}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{B}{G}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/GruulCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/GruulCluestone.java index 0fcd1246c88..6f757c4f6a9 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/GruulCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/GruulCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.GreenManaAbility; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class GruulCluestone extends CardImpl { this.addAbility(new GreenManaAbility()); // {R}{G}, {T}, Sacrifice Gruul Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{R}{G}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}{G}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/IzzetCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/IzzetCluestone.java index d12d48ff9ea..986972fcd5d 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/IzzetCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/IzzetCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class IzzetCluestone extends CardImpl { this.addAbility(new RedManaAbility()); // {U}{R}, {T}, Sacrifice Izzet Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{U}{R}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{U}{R}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/OpalLakeGatekeepers.java b/Mage.Sets/src/mage/sets/dragonsmaze/OpalLakeGatekeepers.java index d8baf122a7e..5f02cb53f0b 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/OpalLakeGatekeepers.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/OpalLakeGatekeepers.java @@ -35,7 +35,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.ControlsPermanentCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -64,7 +64,7 @@ public class OpalLakeGatekeepers extends CardImpl { // When Opal Lake Gatekeepers enters the battlefield, if you control two or more Gates, you may draw a card. this.addAbility(new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)), + new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)), new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 1), "When Opal Lake Gatekeepers enters the battlefield, if you control two or more Gates, you may draw a card.")); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/OrzhovCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/OrzhovCluestone.java index e64e6f5a65b..c5de218b3a8 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/OrzhovCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/OrzhovCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class OrzhovCluestone extends CardImpl { this.addAbility(new BlackManaAbility()); // {W}{B}, {T}, Sacrifice Orzhov Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{W}{B}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{W}{B}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/PilferedPlans.java b/Mage.Sets/src/mage/sets/dragonsmaze/PilferedPlans.java index b095917f728..b5871d644f0 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/PilferedPlans.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/PilferedPlans.java @@ -30,7 +30,7 @@ package mage.sets.dragonsmaze; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.target.TargetPlayer; @@ -50,7 +50,7 @@ public class PilferedPlans extends CardImpl { // Target player puts the top two cards of his or her library into his or her graveyard. Draw two cards. this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(2)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/RakdosCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/RakdosCluestone.java index d9c81f86f17..3a6f9917c28 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/RakdosCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/RakdosCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class RakdosCluestone extends CardImpl { this.addAbility(new RedManaAbility()); // {B}{R}, {T}, Sacrifice Rakdos Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{B}{R}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{B}{R}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/SelesnyaCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/SelesnyaCluestone.java index 2bef665eec3..66735f1c9a7 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/SelesnyaCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/SelesnyaCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.GreenManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class SelesnyaCluestone extends CardImpl { this.addAbility(new WhiteManaAbility()); // {G}{W}, {T}, Sacrifice Selesnya Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{G}{W}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/SimicCluestone.java b/Mage.Sets/src/mage/sets/dragonsmaze/SimicCluestone.java index 1a0e3f8ffc1..3689f736ccc 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/SimicCluestone.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/SimicCluestone.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class SimicCluestone extends CardImpl { this.addAbility(new BlueManaAbility()); // {G}{U}, {T}, Sacrifice Simic Cluestone: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{G}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}{U}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/eighthedition/AmbitionsCost.java b/Mage.Sets/src/mage/sets/eighthedition/AmbitionsCost.java index 26d6cc583b3..91b65275f15 100644 --- a/Mage.Sets/src/mage/sets/eighthedition/AmbitionsCost.java +++ b/Mage.Sets/src/mage/sets/eighthedition/AmbitionsCost.java @@ -30,7 +30,7 @@ package mage.sets.eighthedition; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; @@ -47,7 +47,7 @@ public class AmbitionsCost extends CardImpl { this.color.setBlack(true); // You draw three cards and you lose 3 life. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(3)); } diff --git a/Mage.Sets/src/mage/sets/elspethvstezzeret/AEtherSpellbomb.java b/Mage.Sets/src/mage/sets/elspethvstezzeret/AEtherSpellbomb.java index c1c3231bf8a..d3649749421 100644 --- a/Mage.Sets/src/mage/sets/elspethvstezzeret/AEtherSpellbomb.java +++ b/Mage.Sets/src/mage/sets/elspethvstezzeret/AEtherSpellbomb.java @@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.target.common.TargetCreaturePermanent; @@ -57,7 +57,7 @@ public class AEtherSpellbomb extends CardImpl { this.addAbility(ability); //{1}, Sacrifice Æther Spellbomb: Draw a card. - SimpleActivatedAbility drawCardAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1)); + SimpleActivatedAbility drawCardAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); drawCardAbility.addCost(new SacrificeSourceCost()); this.addAbility(drawCardAbility); diff --git a/Mage.Sets/src/mage/sets/eventide/DreamFracture.java b/Mage.Sets/src/mage/sets/eventide/DreamFracture.java index 61ff8f55272..2c27157b782 100644 --- a/Mage.Sets/src/mage/sets/eventide/DreamFracture.java +++ b/Mage.Sets/src/mage/sets/eventide/DreamFracture.java @@ -30,7 +30,7 @@ package mage.sets.eventide; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Outcome; @@ -56,7 +56,7 @@ public class DreamFracture extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } diff --git a/Mage.Sets/src/mage/sets/fifthdawn/ConjurersBauble.java b/Mage.Sets/src/mage/sets/fifthdawn/ConjurersBauble.java index 5ba50b69531..e62eb9cf529 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/ConjurersBauble.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/ConjurersBauble.java @@ -36,7 +36,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.constants.TargetController; @@ -66,7 +66,7 @@ public class ConjurersBauble extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(false, rule), new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); ability.addTarget(new TargetCardInYourGraveyard(0, 1, filter)); - ability.addEffect(new DrawCardControllerEffect(1)); + ability.addEffect(new DrawCardSourceControllerEffect(1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/fifthdawn/NightsWhisper.java b/Mage.Sets/src/mage/sets/fifthdawn/NightsWhisper.java index 8441d58f689..8ccb50c11da 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/NightsWhisper.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/NightsWhisper.java @@ -30,7 +30,7 @@ package mage.sets.fifthdawn; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; @@ -47,7 +47,7 @@ public class NightsWhisper extends CardImpl { this.color.setBlack(true); // You draw two cards and you lose 2 life. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2)); } diff --git a/Mage.Sets/src/mage/sets/fifthdawn/SerumVisions.java b/Mage.Sets/src/mage/sets/fifthdawn/SerumVisions.java index 2f4b23fb8a5..268d4cba9db 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/SerumVisions.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/SerumVisions.java @@ -30,7 +30,7 @@ package mage.sets.fifthdawn; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ScryEffect; import mage.cards.CardImpl; @@ -47,7 +47,7 @@ public class SerumVisions extends CardImpl { this.color.setBlue(true); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); // Scry 2. this.getSpellAbility().addEffect(new ScryEffect(2)); } diff --git a/Mage.Sets/src/mage/sets/fifthdawn/StaffOfDomination.java b/Mage.Sets/src/mage/sets/fifthdawn/StaffOfDomination.java index dcf94755e36..57742871410 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/StaffOfDomination.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/StaffOfDomination.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.effects.common.UntapSourceEffect; @@ -70,7 +70,7 @@ public class StaffOfDomination extends CardImpl { ability4.addTarget(new TargetCreaturePermanent()); this.addAbility(ability4); // {5}, {tap}: Draw a card. - Ability ability5 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{5}")); + Ability ability5 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{5}")); ability5.addCost(new TapSourceCost()); this.addAbility(ability5); } diff --git a/Mage.Sets/src/mage/sets/futuresight/HorizonCanopy.java b/Mage.Sets/src/mage/sets/futuresight/HorizonCanopy.java index f133cf8d5dc..8860226c97e 100644 --- a/Mage.Sets/src/mage/sets/futuresight/HorizonCanopy.java +++ b/Mage.Sets/src/mage/sets/futuresight/HorizonCanopy.java @@ -37,7 +37,7 @@ import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.GreenManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; @@ -61,7 +61,7 @@ public class HorizonCanopy extends CardImpl { ability2.addCost(new PayLifeCost(1)); this.addAbility(ability2); // {1}, {tap}, Sacrifice Horizon Canopy: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java b/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java index 98778340077..3a5d83439c1 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java +++ b/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java @@ -33,7 +33,7 @@ import mage.constants.*; import mage.abilities.Ability; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class EnterTheInfinite extends CardImpl { this.color.setBlue(true); // Draw cards equal to the number of cards in your library, - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new CardsInControllerLibraryCount())); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new CardsInControllerLibraryCount())); //then put a card from your hand on top of your library. this.getSpellAbility().addEffect(new PutCardOnLibraryEffect()); //You have no maximum hand size until your next turn. diff --git a/Mage.Sets/src/mage/sets/gatecrash/FathomMage.java b/Mage.Sets/src/mage/sets/gatecrash/FathomMage.java index b990bff26db..0dd6e3187f7 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/FathomMage.java +++ b/Mage.Sets/src/mage/sets/gatecrash/FathomMage.java @@ -34,7 +34,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.constants.Zone; @@ -81,7 +81,7 @@ public class FathomMage extends CardImpl { class FathomMageTriggeredAbility extends TriggeredAbilityImpl { public FathomMageTriggeredAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); } public FathomMageTriggeredAbility(FathomMageTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/sets/gatecrash/LastThoughts.java b/Mage.Sets/src/mage/sets/gatecrash/LastThoughts.java index f6c4baf9c22..186389a237c 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/LastThoughts.java +++ b/Mage.Sets/src/mage/sets/gatecrash/LastThoughts.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.CipherEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -47,7 +47,7 @@ public class LastThoughts extends CardImpl { this.color.setBlue(true); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); // Cipher this.getSpellAbility().addEffect(new CipherEffect()); } diff --git a/Mage.Sets/src/mage/sets/gatecrash/PrimeSpeakerZegana.java b/Mage.Sets/src/mage/sets/gatecrash/PrimeSpeakerZegana.java index 906aebe4c26..663d0c42d28 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/PrimeSpeakerZegana.java +++ b/Mage.Sets/src/mage/sets/gatecrash/PrimeSpeakerZegana.java @@ -37,7 +37,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.SourcePermanentPowerCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.counters.CounterType; @@ -67,7 +67,7 @@ public class PrimeSpeakerZegana extends CardImpl { //Prime Speaker Zegana enters the battlefield with X +1/+1 counters on it, where X is the greatest power among other creatures you control. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(0), new greatestPowerCount(), true), "where X is the greatest power among other creatures you control")); //When Prime Speaker Zegana enters the battlefield, draw cards equal to its power. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(new SourcePermanentPowerCount()))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(new SourcePermanentPowerCount()))); } public PrimeSpeakerZegana(final PrimeSpeakerZegana card) { diff --git a/Mage.Sets/src/mage/sets/gatecrash/ScatterArc.java b/Mage.Sets/src/mage/sets/gatecrash/ScatterArc.java index 45434574a3a..2bfa9d29815 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/ScatterArc.java +++ b/Mage.Sets/src/mage/sets/gatecrash/ScatterArc.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -59,7 +59,7 @@ public class ScatterArc extends CardImpl { this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell(filter)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public ScatterArc(final ScatterArc card) { diff --git a/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java b/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java index 81f2d985a34..81a3f300cde 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java +++ b/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java @@ -36,7 +36,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.continious.ControlEnchantedEffect; import mage.abilities.keyword.EnchantAbility; @@ -73,7 +73,7 @@ public class SoulRansom extends CardImpl { Effect effect = new SacrificeSourceEffect(); effect.setText("{this}'s controller sacrifices it"); SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect , new DiscardTargetCost(new TargetCardInHand(2,2, new FilterCard("two cards")))); - effect = new DrawCardControllerEffect(2); + effect = new DrawCardSourceControllerEffect(2); effect.setText("Then draws two cards. Only any opponent may activate this ability"); ability2.addEffect(effect); ability2.setMayActivate(TargetController.OPPONENT); diff --git a/Mage.Sets/src/mage/sets/gatecrash/TinStreetMarket.java b/Mage.Sets/src/mage/sets/gatecrash/TinStreetMarket.java index a58e6c98ee4..c735f62ba25 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/TinStreetMarket.java +++ b/Mage.Sets/src/mage/sets/gatecrash/TinStreetMarket.java @@ -36,7 +36,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; @@ -65,7 +65,7 @@ public class TinStreetMarket extends CardImpl { // Enchanted land has "{T}, Discard a card: Draw a card." - Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); gainAbility.addCost(new DiscardCardCost()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainAbility, AttachmentType.AURA))); diff --git a/Mage.Sets/src/mage/sets/gatecrash/UrbanEvolution.java b/Mage.Sets/src/mage/sets/gatecrash/UrbanEvolution.java index 219971d7533..3fad9e3298b 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/UrbanEvolution.java +++ b/Mage.Sets/src/mage/sets/gatecrash/UrbanEvolution.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.PlayAdditionalLandsControllerEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -52,7 +52,7 @@ public class UrbanEvolution extends CardImpl { this.color.setBlue(true); //Draw three cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); //You may play an additional land this turn. this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); diff --git a/Mage.Sets/src/mage/sets/gatecrash/ZameckGuildmage.java b/Mage.Sets/src/mage/sets/gatecrash/ZameckGuildmage.java index 57698be82fd..8a602585a17 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/ZameckGuildmage.java +++ b/Mage.Sets/src/mage/sets/gatecrash/ZameckGuildmage.java @@ -41,7 +41,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.Effects; import mage.abilities.effects.ReplacementEffectImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -76,7 +76,7 @@ public class ZameckGuildmage extends CardImpl { this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new EntersBattlefieldEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), ruleText), new ManaCostsImpl("{G}{U}"))); // {G}{U}, Remove a +1/+1 counter from a creature you control: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{G}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}{U}")); ability.addCost(new RemoveCounterCost(new TargetControlledCreaturePermanent(), CounterType.P1P1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/innistrad/AltarsReap.java b/Mage.Sets/src/mage/sets/innistrad/AltarsReap.java index 50336964bd5..328853b5961 100644 --- a/Mage.Sets/src/mage/sets/innistrad/AltarsReap.java +++ b/Mage.Sets/src/mage/sets/innistrad/AltarsReap.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +50,7 @@ public class AltarsReap extends CardImpl { // As an additional cost to cast Altar's Reap, sacrifice a creature. this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent())); // Draw two cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); } public AltarsReap(final AltarsReap card) { diff --git a/Mage.Sets/src/mage/sets/innistrad/Curiosity.java b/Mage.Sets/src/mage/sets/innistrad/Curiosity.java index e5986ea03ed..637b02858d0 100644 --- a/Mage.Sets/src/mage/sets/innistrad/Curiosity.java +++ b/Mage.Sets/src/mage/sets/innistrad/Curiosity.java @@ -32,7 +32,7 @@ import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.constants.Outcome; @@ -84,7 +84,7 @@ public class Curiosity extends CardImpl { class CuriosityAbility extends TriggeredAbilityImpl { public CuriosityAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); } public CuriosityAbility(final CuriosityAbility ability) { diff --git a/Mage.Sets/src/mage/sets/innistrad/MentorOfTheMeek.java b/Mage.Sets/src/mage/sets/innistrad/MentorOfTheMeek.java index 5399e92915b..3cab655368a 100644 --- a/Mage.Sets/src/mage/sets/innistrad/MentorOfTheMeek.java +++ b/Mage.Sets/src/mage/sets/innistrad/MentorOfTheMeek.java @@ -36,7 +36,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.Filter; import mage.filter.FilterPermanent; @@ -66,7 +66,7 @@ public class MentorOfTheMeek extends CardImpl { //Whenever another creature with power 2 or less enters the battlefield under your control, you may pay 1. If you do, draw a card. this.addAbility(new EntersBattlefieldControlledTriggeredAbility( - Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{1}")),filter, true)); + Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}")),filter, true)); } diff --git a/Mage.Sets/src/mage/sets/innistrad/Sturmgeist.java b/Mage.Sets/src/mage/sets/innistrad/Sturmgeist.java index c61cfcc6732..218dd25f77a 100644 --- a/Mage.Sets/src/mage/sets/innistrad/Sturmgeist.java +++ b/Mage.Sets/src/mage/sets/innistrad/Sturmgeist.java @@ -36,7 +36,7 @@ import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.CardsInControllerHandCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.SetPowerToughnessSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -60,7 +60,7 @@ public class Sturmgeist extends CardImpl { // Sturmgeist's power and toughness are each equal to the number of cards in your hand. this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(new CardsInControllerHandCount(), Duration.EndOfGame))); // Whenever Sturmgeist deals combat damage to a player, draw a card. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public Sturmgeist(final Sturmgeist card) { diff --git a/Mage.Sets/src/mage/sets/innistrad/ThinkTwice.java b/Mage.Sets/src/mage/sets/innistrad/ThinkTwice.java index 04f3489f376..b5df2614e04 100644 --- a/Mage.Sets/src/mage/sets/innistrad/ThinkTwice.java +++ b/Mage.Sets/src/mage/sets/innistrad/ThinkTwice.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlashbackAbility; import mage.cards.CardImpl; import mage.constants.TimingRule; @@ -50,7 +50,7 @@ public class ThinkTwice extends CardImpl { this.color.setBlue(true); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); // Flashback {2}{U} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{2}{U}"), TimingRule.INSTANT)); diff --git a/Mage.Sets/src/mage/sets/invasion/Opt.java b/Mage.Sets/src/mage/sets/invasion/Opt.java index 97a7a7e8a7b..5359f5cda68 100644 --- a/Mage.Sets/src/mage/sets/invasion/Opt.java +++ b/Mage.Sets/src/mage/sets/invasion/Opt.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.Cards; @@ -61,7 +61,7 @@ public class Opt extends CardImpl { // This is functionally the same as scry, copy scry effect, removing "scry", unless theres a simpler way im overlooking? this.getSpellAbility().addEffect(new OptEffect()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Opt(final Opt card) { diff --git a/Mage.Sets/src/mage/sets/judgment/KeepWatch.java b/Mage.Sets/src/mage/sets/judgment/KeepWatch.java index daa2b040268..5efe161a27e 100644 --- a/Mage.Sets/src/mage/sets/judgment/KeepWatch.java +++ b/Mage.Sets/src/mage/sets/judgment/KeepWatch.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.dynamicvalue.common.AttackingCreatureCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -47,7 +47,7 @@ public class KeepWatch extends CardImpl { this.color.setBlue(true); // Draw a card for each attacking creature. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new AttackingCreatureCount())); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new AttackingCreatureCount())); } public KeepWatch(final KeepWatch card) { diff --git a/Mage.Sets/src/mage/sets/judgment/UnquestionedAuthority.java b/Mage.Sets/src/mage/sets/judgment/UnquestionedAuthority.java index dacccd4ee63..caf87a981ce 100644 --- a/Mage.Sets/src/mage/sets/judgment/UnquestionedAuthority.java +++ b/Mage.Sets/src/mage/sets/judgment/UnquestionedAuthority.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.ProtectionAbility; @@ -69,7 +69,7 @@ public class UnquestionedAuthority extends CardImpl { this.addAbility(ability); // When Unquestioned Authority enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // Enchanted creature has protection from creatures. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new ProtectionAbility(filter), AttachmentType.AURA))); } diff --git a/Mage.Sets/src/mage/sets/legions/MerchantOfSecrets.java b/Mage.Sets/src/mage/sets/legions/MerchantOfSecrets.java index d470b38e951..b5217627744 100644 --- a/Mage.Sets/src/mage/sets/legions/MerchantOfSecrets.java +++ b/Mage.Sets/src/mage/sets/legions/MerchantOfSecrets.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -52,7 +52,7 @@ public class MerchantOfSecrets extends CardImpl { this.toughness = new MageInt(1); // When Merchant of Secrets enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public MerchantOfSecrets(final MerchantOfSecrets card) { diff --git a/Mage.Sets/src/mage/sets/legions/SynapseSliver.java b/Mage.Sets/src/mage/sets/legions/SynapseSliver.java index 7e4b18708e5..43b5a340a21 100644 --- a/Mage.Sets/src/mage/sets/legions/SynapseSliver.java +++ b/Mage.Sets/src/mage/sets/legions/SynapseSliver.java @@ -32,7 +32,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -58,7 +58,7 @@ public class SynapseSliver extends CardImpl { this.toughness = new MageInt(3); // Whenever a Sliver deals combat damage to a player, its controller may draw a card. - Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), true); + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true); ability.addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("Sliver", "Sliver"))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver", "Sliver creatures")))); } diff --git a/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java b/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java index 1bf985c23d5..ea3b0395bca 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java +++ b/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -76,7 +76,7 @@ public class CrypticCommand extends CardImpl { this.getSpellAbility().getModes().addMode(mode); // or draw a card. mode = new Mode(); - mode.getEffects().add(new DrawCardControllerEffect(1)); + mode.getEffects().add(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/sets/lorwyn/Fallowsage.java b/Mage.Sets/src/mage/sets/lorwyn/Fallowsage.java index 20fc0e65d6d..04ba8e2f771 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/Fallowsage.java +++ b/Mage.Sets/src/mage/sets/lorwyn/Fallowsage.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.BecomesTappedTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -52,7 +52,7 @@ public class Fallowsage extends CardImpl { this.toughness = new MageInt(2); // Whenever Fallowsage becomes tapped, you may draw a card. - this.addAbility(new BecomesTappedTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new BecomesTappedTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public Fallowsage(final Fallowsage card) { diff --git a/Mage.Sets/src/mage/sets/lorwyn/LaceWithMoonglove.java b/Mage.Sets/src/mage/sets/lorwyn/LaceWithMoonglove.java index dbc09cd7a58..b4006ea53f9 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/LaceWithMoonglove.java +++ b/Mage.Sets/src/mage/sets/lorwyn/LaceWithMoonglove.java @@ -29,7 +29,7 @@ package mage.sets.lorwyn; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; @@ -50,7 +50,7 @@ public class LaceWithMoonglove extends CardImpl { this.color.setGreen(true); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public LaceWithMoonglove(final LaceWithMoonglove card) { diff --git a/Mage.Sets/src/mage/sets/lorwyn/SilvergillAdept.java b/Mage.Sets/src/mage/sets/lorwyn/SilvergillAdept.java index 46020ebc4cd..1eb3a72b7ff 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/SilvergillAdept.java +++ b/Mage.Sets/src/mage/sets/lorwyn/SilvergillAdept.java @@ -35,7 +35,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.CostImpl; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardsImpl; @@ -66,7 +66,7 @@ public class SilvergillAdept extends CardImpl { // As an additional cost to cast Silvergill Adept, reveal a Merfolk card from your hand or pay {3}. this.getSpellAbility().addCost(new SilvergillAdeptCost()); // When Silvergill Adept enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public SilvergillAdept(final SilvergillAdept card) { diff --git a/Mage.Sets/src/mage/sets/magic2011/Foresee.java b/Mage.Sets/src/mage/sets/magic2011/Foresee.java index dbeb751bb06..9108e2cfe1a 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Foresee.java +++ b/Mage.Sets/src/mage/sets/magic2011/Foresee.java @@ -31,7 +31,7 @@ package mage.sets.magic2011; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ScryEffect; import mage.cards.CardImpl; @@ -46,7 +46,7 @@ public class Foresee extends CardImpl { this.expansionSetCode = "M11"; this.color.setBlue(true); this.getSpellAbility().addEffect(new ScryEffect(4)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); } public Foresee(final Foresee card) { diff --git a/Mage.Sets/src/mage/sets/magic2011/GarruksPackleader.java b/Mage.Sets/src/mage/sets/magic2011/GarruksPackleader.java index 8e7dde4ebcb..acd00e75de8 100644 --- a/Mage.Sets/src/mage/sets/magic2011/GarruksPackleader.java +++ b/Mage.Sets/src/mage/sets/magic2011/GarruksPackleader.java @@ -34,7 +34,7 @@ import mage.constants.Rarity; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.Filter; import mage.filter.FilterPermanent; @@ -63,7 +63,7 @@ public class GarruksPackleader extends CardImpl { this.toughness = new MageInt(4); this.addAbility(new EntersBattlefieldControlledTriggeredAbility( - Zone.BATTLEFIELD, new DrawCardControllerEffect(1), filter, true)); + Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), filter, true)); } public GarruksPackleader(final GarruksPackleader card) { diff --git a/Mage.Sets/src/mage/sets/magic2011/JacesIngenuity.java b/Mage.Sets/src/mage/sets/magic2011/JacesIngenuity.java index 3f5eaf4e454..b526b2a47ef 100644 --- a/Mage.Sets/src/mage/sets/magic2011/JacesIngenuity.java +++ b/Mage.Sets/src/mage/sets/magic2011/JacesIngenuity.java @@ -31,7 +31,7 @@ package mage.sets.magic2011; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -44,7 +44,7 @@ public class JacesIngenuity extends CardImpl { super(ownerId, 60, "Jace's Ingenuity", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{3}{U}{U}"); this.expansionSetCode = "M11"; this.color.setBlue(true); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); } public JacesIngenuity(final JacesIngenuity card) { diff --git a/Mage.Sets/src/mage/sets/magic2011/Preordain.java b/Mage.Sets/src/mage/sets/magic2011/Preordain.java index c20104681dc..03eea5d3278 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Preordain.java +++ b/Mage.Sets/src/mage/sets/magic2011/Preordain.java @@ -31,7 +31,7 @@ package mage.sets.magic2011; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ScryEffect; import mage.cards.CardImpl; @@ -46,7 +46,7 @@ public class Preordain extends CardImpl { this.expansionSetCode = "M11"; this.color.setBlue(true); this.getSpellAbility().addEffect(new ScryEffect(2)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Preordain(final Preordain card) { diff --git a/Mage.Sets/src/mage/sets/magic2011/ScrollThief.java b/Mage.Sets/src/mage/sets/magic2011/ScrollThief.java index 29d250fbfe6..d822e9bf08b 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ScrollThief.java +++ b/Mage.Sets/src/mage/sets/magic2011/ScrollThief.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -51,7 +51,7 @@ public class ScrollThief extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(3); - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public ScrollThief(final ScrollThief card) { diff --git a/Mage.Sets/src/mage/sets/magic2012/AzureMage.java b/Mage.Sets/src/mage/sets/magic2012/AzureMage.java index c6d6aac42ef..2f86bb6726d 100644 --- a/Mage.Sets/src/mage/sets/magic2012/AzureMage.java +++ b/Mage.Sets/src/mage/sets/magic2012/AzureMage.java @@ -35,7 +35,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -52,7 +52,7 @@ public class AzureMage extends CardImpl { this.color.setBlue(true); this.power = new MageInt(2); this.toughness = new MageInt(1); - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{3}{U}"))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}"))); } public AzureMage(final AzureMage card) { diff --git a/Mage.Sets/src/mage/sets/magic2012/Divination.java b/Mage.Sets/src/mage/sets/magic2012/Divination.java index 0c062235948..9dc27c8507b 100644 --- a/Mage.Sets/src/mage/sets/magic2012/Divination.java +++ b/Mage.Sets/src/mage/sets/magic2012/Divination.java @@ -31,7 +31,7 @@ package mage.sets.magic2012; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -44,7 +44,7 @@ public class Divination extends CardImpl { super(ownerId, 50, "Divination", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{U}"); this.expansionSetCode = "M12"; this.color.setBlue(true); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); } public Divination (final Divination card) { diff --git a/Mage.Sets/src/mage/sets/magic2012/HuntersInsight.java b/Mage.Sets/src/mage/sets/magic2012/HuntersInsight.java index 81ea1c152ab..77f733b94d7 100644 --- a/Mage.Sets/src/mage/sets/magic2012/HuntersInsight.java +++ b/Mage.Sets/src/mage/sets/magic2012/HuntersInsight.java @@ -33,7 +33,7 @@ import mage.constants.Duration; import mage.constants.Rarity; import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.cards.CardImpl; import mage.game.Game; @@ -89,7 +89,7 @@ class HuntersInsightTriggeredAbility extends TriggeredAbilityImpl { this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false)); // +1: Draw a card. Target player puts the top card of his or her library into his or her graveyard. - LoyaltyAbility ability1 = new LoyaltyAbility(new DrawCardControllerEffect(1), 1); + LoyaltyAbility ability1 = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), 1); ability1.addEffect(new PutLibraryIntoGraveTargetEffect(1)); ability1.addTarget(new TargetPlayer()); this.addAbility(ability1); diff --git a/Mage.Sets/src/mage/sets/magic2012/MindUnbound.java b/Mage.Sets/src/mage/sets/magic2012/MindUnbound.java index 5701a747d7a..7a0c22ab80c 100644 --- a/Mage.Sets/src/mage/sets/magic2012/MindUnbound.java +++ b/Mage.Sets/src/mage/sets/magic2012/MindUnbound.java @@ -34,7 +34,7 @@ import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.constants.TargetController; @@ -54,7 +54,7 @@ public class MindUnbound extends CardImpl { // At the beginning of your upkeep, put a lore counter on Mind Unbound, then draw a card for each lore counter on Mind Unbound. Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.LORE.createInstance()), TargetController.YOU, false); - ability.addEffect(new DrawCardControllerEffect(new CountersCount(CounterType.LORE))); + ability.addEffect(new DrawCardSourceControllerEffect(new CountersCount(CounterType.LORE))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2012/SolemnSimulacrum.java b/Mage.Sets/src/mage/sets/magic2012/SolemnSimulacrum.java index 551eb30e9ba..2667f2608fb 100644 --- a/Mage.Sets/src/mage/sets/magic2012/SolemnSimulacrum.java +++ b/Mage.Sets/src/mage/sets/magic2012/SolemnSimulacrum.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.filter.common.FilterBasicLandCard; @@ -54,7 +54,7 @@ public class SolemnSimulacrum extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true), true)); - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), true)); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); } public SolemnSimulacrum(final SolemnSimulacrum card) { diff --git a/Mage.Sets/src/mage/sets/magic2013/GroundSeal.java b/Mage.Sets/src/mage/sets/magic2013/GroundSeal.java index 8eb7c7fee81..c0ab36481db 100644 --- a/Mage.Sets/src/mage/sets/magic2013/GroundSeal.java +++ b/Mage.Sets/src/mage/sets/magic2013/GroundSeal.java @@ -34,7 +34,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.game.Game; @@ -54,7 +54,7 @@ public class GroundSeal extends CardImpl { this.color.setGreen(true); // When Ground Seal enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // Cards in graveyards can't be the targets of spells or abilities. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GroundSealEffect())); diff --git a/Mage.Sets/src/mage/sets/magic2013/RummagingGoblin.java b/Mage.Sets/src/mage/sets/magic2013/RummagingGoblin.java index 623c10eab90..427efae212b 100644 --- a/Mage.Sets/src/mage/sets/magic2013/RummagingGoblin.java +++ b/Mage.Sets/src/mage/sets/magic2013/RummagingGoblin.java @@ -35,7 +35,7 @@ import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.common.TargetCardInHand; @@ -56,7 +56,7 @@ public class RummagingGoblin extends CardImpl { this.toughness = new MageInt(1); // {tap}, Discard a card: Draw a card. - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); ability.addCost(new DiscardTargetCost(new TargetCardInHand())); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2013/StaffOfNin.java b/Mage.Sets/src/mage/sets/magic2013/StaffOfNin.java index ba887612a72..c51055a0ac8 100644 --- a/Mage.Sets/src/mage/sets/magic2013/StaffOfNin.java +++ b/Mage.Sets/src/mage/sets/magic2013/StaffOfNin.java @@ -36,7 +36,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +53,7 @@ public class StaffOfNin extends CardImpl { this.expansionSetCode = "M13"; // At the beginning of your upkeep, draw a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false)); // {tap}: Staff of Nin deals 1 damage to target creature or player. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); ability.addTarget(new TargetCreatureOrPlayer()); diff --git a/Mage.Sets/src/mage/sets/magic2013/TradingPost.java b/Mage.Sets/src/mage/sets/magic2013/TradingPost.java index 202c2248414..45e46fcba08 100644 --- a/Mage.Sets/src/mage/sets/magic2013/TradingPost.java +++ b/Mage.Sets/src/mage/sets/magic2013/TradingPost.java @@ -41,7 +41,7 @@ import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; @@ -92,7 +92,7 @@ public class TradingPost extends CardImpl { this.addAbility(ability3); // {1}, {tap}, Sacrifice an artifact: Draw a card. - Ability ability4 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1)); + Ability ability4 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); ability4.addCost(new TapSourceCost()); ability4.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter2))); this.addAbility(ability4); diff --git a/Mage.Sets/src/mage/sets/magic2013/WildGuess.java b/Mage.Sets/src/mage/sets/magic2013/WildGuess.java index cda2bcea42d..f9f547c981d 100644 --- a/Mage.Sets/src/mage/sets/magic2013/WildGuess.java +++ b/Mage.Sets/src/mage/sets/magic2013/WildGuess.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.costs.common.DiscardTargetCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.common.TargetCardInHand; @@ -50,7 +50,7 @@ public class WildGuess extends CardImpl { // As an additional cost to cast Wild Guess, discard a card. this.getSpellAbility().addCost(new DiscardTargetCost(new TargetCardInHand())); // Draw two cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); } public WildGuess(final WildGuess card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/DarkProphecy.java b/Mage.Sets/src/mage/sets/magic2014/DarkProphecy.java index b60804b885f..d41a623a699 100644 --- a/Mage.Sets/src/mage/sets/magic2014/DarkProphecy.java +++ b/Mage.Sets/src/mage/sets/magic2014/DarkProphecy.java @@ -30,7 +30,7 @@ package mage.sets.magic2014; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.DiesCreatureTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -57,7 +57,7 @@ public class DarkProphecy extends CardImpl { this.color.setBlack(true); // Whenever a creature you control dies, you draw a card and lose 1 life. - Ability ability = new DiesCreatureTriggeredAbility(new DrawCardControllerEffect(1), false, filter); + Ability ability = new DiesCreatureTriggeredAbility(new DrawCardSourceControllerEffect(1), false, filter); ability.addEffect(new LoseLifeSourceControllerEffect(1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2014/MessengerDrake.java b/Mage.Sets/src/mage/sets/magic2014/MessengerDrake.java index 65d3bd23670..892f7d6155f 100644 --- a/Mage.Sets/src/mage/sets/magic2014/MessengerDrake.java +++ b/Mage.Sets/src/mage/sets/magic2014/MessengerDrake.java @@ -30,7 +30,7 @@ package mage.sets.magic2014; import java.util.UUID; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -54,7 +54,7 @@ public class MessengerDrake extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // When Messenger Drake dies, draw a card. - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public MessengerDrake(final MessengerDrake card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/WindreaderSphinx.java b/Mage.Sets/src/mage/sets/magic2014/WindreaderSphinx.java index 15097ecedad..9a7027cff82 100644 --- a/Mage.Sets/src/mage/sets/magic2014/WindreaderSphinx.java +++ b/Mage.Sets/src/mage/sets/magic2014/WindreaderSphinx.java @@ -30,7 +30,7 @@ package mage.sets.magic2014; import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -81,7 +81,7 @@ class WindreaderSphinxTriggeredAbility extends TriggeredAbilityImpl { this.color.setGreen(true); // Draw a card for each creature you control. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent()))); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent()))); } public CollectiveUnconscious(final CollectiveUnconscious card) { diff --git a/Mage.Sets/src/mage/sets/mirrodin/FarsightMask.java b/Mage.Sets/src/mage/sets/mirrodin/FarsightMask.java index ead13d3b972..09e001187ee 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/FarsightMask.java +++ b/Mage.Sets/src/mage/sets/mirrodin/FarsightMask.java @@ -36,7 +36,7 @@ import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.game.Game; import mage.game.events.GameEvent; @@ -71,7 +71,7 @@ public class FarsightMask extends CardImpl { class FarsightMaskTriggeredAbility extends TriggeredAbilityImpl { public FarsightMaskTriggeredAbility() { - super(Zone.BATTLEFIELD, new ConditionalOneShotEffect(new DrawCardControllerEffect(1), new FarsightMaskCondition(), ""), false); + super(Zone.BATTLEFIELD, new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), new FarsightMaskCondition(), ""), false); } public FarsightMaskTriggeredAbility(final FarsightMaskTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/sets/odyssey/CeaseFire.java b/Mage.Sets/src/mage/sets/odyssey/CeaseFire.java index 31c42df34da..9f372b4a4b2 100644 --- a/Mage.Sets/src/mage/sets/odyssey/CeaseFire.java +++ b/Mage.Sets/src/mage/sets/odyssey/CeaseFire.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.effects.ReplacementEffectImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Duration; @@ -61,7 +61,7 @@ public class CeaseFire extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer(true)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public CeaseFire(final CeaseFire card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/CephalidScout.java b/Mage.Sets/src/mage/sets/odyssey/CephalidScout.java index 2b952b58098..75b67428879 100644 --- a/Mage.Sets/src/mage/sets/odyssey/CephalidScout.java +++ b/Mage.Sets/src/mage/sets/odyssey/CephalidScout.java @@ -33,7 +33,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -62,7 +62,7 @@ public class CephalidScout extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // {2}{U}, Sacrifice a land: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{2}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{U}")); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent()))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/odyssey/Concentrate.java b/Mage.Sets/src/mage/sets/odyssey/Concentrate.java index 0a16fd3cfa3..9746fca33c7 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Concentrate.java +++ b/Mage.Sets/src/mage/sets/odyssey/Concentrate.java @@ -30,7 +30,7 @@ package mage.sets.odyssey; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -46,7 +46,7 @@ public class Concentrate extends CardImpl { this.color.setBlue(true); // Draw three cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); } public Concentrate(final Concentrate card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/Refresh.java b/Mage.Sets/src/mage/sets/odyssey/Refresh.java index 9911d7d0ece..3fdb7bca639 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Refresh.java +++ b/Mage.Sets/src/mage/sets/odyssey/Refresh.java @@ -28,7 +28,7 @@ package mage.sets.odyssey; import java.util.UUID; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -51,7 +51,7 @@ public class Refresh extends CardImpl { this.getSpellAbility().addEffect(new RegenerateTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent(true)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Refresh(final Refresh card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/SecondThoughts.java b/Mage.Sets/src/mage/sets/odyssey/SecondThoughts.java index 66ae2345e8c..535f248527f 100644 --- a/Mage.Sets/src/mage/sets/odyssey/SecondThoughts.java +++ b/Mage.Sets/src/mage/sets/odyssey/SecondThoughts.java @@ -28,7 +28,7 @@ package mage.sets.odyssey; import java.util.UUID; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -51,7 +51,7 @@ public class SecondThoughts extends CardImpl { this.getSpellAbility().addEffect(new ExileTargetEffect()); this.getSpellAbility().addTarget(new TargetAttackingCreature()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public SecondThoughts(final SecondThoughts card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/Shelter.java b/Mage.Sets/src/mage/sets/odyssey/Shelter.java index 9f67b4d4783..230076d9c94 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Shelter.java +++ b/Mage.Sets/src/mage/sets/odyssey/Shelter.java @@ -28,7 +28,7 @@ package mage.sets.odyssey; import java.util.UUID; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainProtectionFromColorTargetEffect; import mage.cards.CardImpl; import mage.choices.ChoiceColor; @@ -55,7 +55,7 @@ public class Shelter extends CardImpl { this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn)); // // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Shelter(final Shelter card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/Spiritualize.java b/Mage.Sets/src/mage/sets/odyssey/Spiritualize.java index 28fe1ed6e80..1587cbcd38d 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Spiritualize.java +++ b/Mage.Sets/src/mage/sets/odyssey/Spiritualize.java @@ -33,7 +33,7 @@ import mage.abilities.DelayedTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Duration; @@ -61,7 +61,7 @@ public class Spiritualize extends CardImpl { this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new SpiritualizeTriggeredAbility())); this.getSpellAbility().addTarget(new TargetCreaturePermanent(true)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Spiritualize(final Spiritualize card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/TouchOfInvisibility.java b/Mage.Sets/src/mage/sets/odyssey/TouchOfInvisibility.java index 9608149c3b7..ffdcd1164dd 100644 --- a/Mage.Sets/src/mage/sets/odyssey/TouchOfInvisibility.java +++ b/Mage.Sets/src/mage/sets/odyssey/TouchOfInvisibility.java @@ -28,7 +28,7 @@ package mage.sets.odyssey; import java.util.UUID; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -53,7 +53,7 @@ public class TouchOfInvisibility extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(true)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public TouchOfInvisibility(final TouchOfInvisibility card) { diff --git a/Mage.Sets/src/mage/sets/odyssey/UnifyingTheory.java b/Mage.Sets/src/mage/sets/odyssey/UnifyingTheory.java index 76e1ca2cb2d..e2b97ab4a49 100644 --- a/Mage.Sets/src/mage/sets/odyssey/UnifyingTheory.java +++ b/Mage.Sets/src/mage/sets/odyssey/UnifyingTheory.java @@ -37,7 +37,7 @@ import mage.abilities.effects.common.DrawCardTargetEffect; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Outcome; diff --git a/Mage.Sets/src/mage/sets/odyssey/WordsOfWisdom.java b/Mage.Sets/src/mage/sets/odyssey/WordsOfWisdom.java index 14f6ace7dd2..3f78cda926f 100644 --- a/Mage.Sets/src/mage/sets/odyssey/WordsOfWisdom.java +++ b/Mage.Sets/src/mage/sets/odyssey/WordsOfWisdom.java @@ -30,7 +30,7 @@ package mage.sets.odyssey; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Outcome; @@ -52,7 +52,7 @@ public class WordsOfWisdom extends CardImpl { this.color.setBlue(true); // You draw two cards, then each other player draws a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addEffect(new WordsOfWisdomEffect()); } diff --git a/Mage.Sets/src/mage/sets/onslaught/EnchantresssPresence.java b/Mage.Sets/src/mage/sets/onslaught/EnchantresssPresence.java index f34372390a5..4ff4572ae2f 100644 --- a/Mage.Sets/src/mage/sets/onslaught/EnchantresssPresence.java +++ b/Mage.Sets/src/mage/sets/onslaught/EnchantresssPresence.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +56,7 @@ public class EnchantresssPresence extends CardImpl { this.color.setGreen(true); // Whenever you cast an enchantment spell, draw a card. - this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, false)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, false)); } public EnchantresssPresence(final EnchantresssPresence card) { diff --git a/Mage.Sets/src/mage/sets/onslaught/SlateOfAncestry.java b/Mage.Sets/src/mage/sets/onslaught/SlateOfAncestry.java index 78a27a01212..b6f471278cf 100644 --- a/Mage.Sets/src/mage/sets/onslaught/SlateOfAncestry.java +++ b/Mage.Sets/src/mage/sets/onslaught/SlateOfAncestry.java @@ -34,7 +34,7 @@ import mage.abilities.costs.common.DiscardHandCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -53,7 +53,7 @@ public class SlateOfAncestry extends CardImpl { // {4}, {tap}, Discard your hand: Draw a card for each creature you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent("creature you control"))), + new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent("creature you control"))), new GenericManaCost(4)); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardHandCost()); diff --git a/Mage.Sets/src/mage/sets/onslaught/WirewoodSavage.java b/Mage.Sets/src/mage/sets/onslaught/WirewoodSavage.java index 51ce086f82d..100d7125e8d 100644 --- a/Mage.Sets/src/mage/sets/onslaught/WirewoodSavage.java +++ b/Mage.Sets/src/mage/sets/onslaught/WirewoodSavage.java @@ -30,7 +30,7 @@ package mage.sets.onslaught; import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -60,7 +60,7 @@ public class WirewoodSavage extends CardImpl { this.toughness = new MageInt(2); // Whenever a Beast enters the battlefield, you may draw a card. - this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), filter, true)); + this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), filter, true)); } public WirewoodSavage(final WirewoodSavage card) { diff --git a/Mage.Sets/src/mage/sets/planarchaos/CitanulWoodreaders.java b/Mage.Sets/src/mage/sets/planarchaos/CitanulWoodreaders.java index f4646528541..d198ee6f8d4 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/CitanulWoodreaders.java +++ b/Mage.Sets/src/mage/sets/planarchaos/CitanulWoodreaders.java @@ -34,7 +34,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.KickedCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; @@ -58,7 +58,7 @@ public class CitanulWoodreaders extends CardImpl { this.addAbility(new KickerAbility("{2}{G}")); // When Citanul Woodreaders enters the battlefield, if it was kicked, draw two cards. this.addAbility(new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(2)), + new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2)), KickedCondition.getInstance(),"When Citanul Woodreaders enters the battlefield, if it was kicked, draw two cards.")); } diff --git a/Mage.Sets/src/mage/sets/planarchaos/Harmonize.java b/Mage.Sets/src/mage/sets/planarchaos/Harmonize.java index a1c1d943491..a31693f8b25 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/Harmonize.java +++ b/Mage.Sets/src/mage/sets/planarchaos/Harmonize.java @@ -30,7 +30,7 @@ package mage.sets.planarchaos; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -46,7 +46,7 @@ public class Harmonize extends CardImpl { this.color.setGreen(true); // Draw three cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); } public Harmonize(final Harmonize card) { diff --git a/Mage.Sets/src/mage/sets/planarchaos/KeenSense.java b/Mage.Sets/src/mage/sets/planarchaos/KeenSense.java index 4dbf7f1e67c..5d67af99ec5 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/KeenSense.java +++ b/Mage.Sets/src/mage/sets/planarchaos/KeenSense.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.DealsDamageToAPlayerAttachedTriggeredAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -62,7 +62,7 @@ public class KeenSense extends CardImpl { this.addAbility(ability); // Whenever enchanted creature deals damage to an opponent, you may draw a card. - this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new DrawCardControllerEffect(1), "enchanted creature", true, false, false, TargetController.OPPONENT)); + this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new DrawCardSourceControllerEffect(1), "enchanted creature", true, false, false, TargetController.OPPONENT)); } public KeenSense(final KeenSense card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/CarvenCaryatid.java b/Mage.Sets/src/mage/sets/ravnika/CarvenCaryatid.java index ae806bbb9ee..a48f0015414 100644 --- a/Mage.Sets/src/mage/sets/ravnika/CarvenCaryatid.java +++ b/Mage.Sets/src/mage/sets/ravnika/CarvenCaryatid.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; @@ -53,7 +53,7 @@ public class CarvenCaryatid extends CardImpl { this.addAbility(DefenderAbility.getInstance()); // When Carven Caryatid enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public CarvenCaryatid(final CarvenCaryatid card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/FlightOfFancy.java b/Mage.Sets/src/mage/sets/ravnika/FlightOfFancy.java index 2a08a77baec..ec97691db4c 100644 --- a/Mage.Sets/src/mage/sets/ravnika/FlightOfFancy.java +++ b/Mage.Sets/src/mage/sets/ravnika/FlightOfFancy.java @@ -34,7 +34,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.FlyingAbility; @@ -62,7 +62,7 @@ public class FlightOfFancy extends CardImpl { Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // When Flight of Fancy enters the battlefield, draw two cards. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(2), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2), false)); // Enchanted creature has flying. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA))); } diff --git a/Mage.Sets/src/mage/sets/ravnika/GraveShellScarab.java b/Mage.Sets/src/mage/sets/ravnika/GraveShellScarab.java index 93e72fc2210..e6370a5fe93 100644 --- a/Mage.Sets/src/mage/sets/ravnika/GraveShellScarab.java +++ b/Mage.Sets/src/mage/sets/ravnika/GraveShellScarab.java @@ -36,7 +36,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.constants.Zone; @@ -58,7 +58,7 @@ public class GraveShellScarab extends CardImpl { this.toughness = new MageInt(4); // {1}, Sacrifice Grave-Shell Scarab: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); // Dredge 1 diff --git a/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java b/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java index 00886e32c64..7569b494e4a 100644 --- a/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java +++ b/Mage.Sets/src/mage/sets/ravnika/PrimordialSage.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -59,7 +59,7 @@ public class PrimordialSage extends CardImpl { this.toughness = new MageInt(5); // Whenever you cast a creature spell, you may draw a card. - this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, true)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, true)); } public PrimordialSage(final PrimordialSage card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/Remand.java b/Mage.Sets/src/mage/sets/ravnika/Remand.java index 07586090802..ddbcbf000aa 100644 --- a/Mage.Sets/src/mage/sets/ravnika/Remand.java +++ b/Mage.Sets/src/mage/sets/ravnika/Remand.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.constants.Zone; import mage.abilities.effects.common.CounterTargetWithReplacementEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.TargetSpell; @@ -52,7 +52,7 @@ public class Remand extends CardImpl { this.getSpellAbility().addEffect(new CounterTargetWithReplacementEffect(Zone.HAND)); this.getSpellAbility().addTarget(new TargetSpell()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Remand(final Remand card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/ShadowOfDoubt.java b/Mage.Sets/src/mage/sets/ravnika/ShadowOfDoubt.java index d0dd180b4f2..1508ebdb49a 100644 --- a/Mage.Sets/src/mage/sets/ravnika/ShadowOfDoubt.java +++ b/Mage.Sets/src/mage/sets/ravnika/ShadowOfDoubt.java @@ -34,7 +34,7 @@ import mage.constants.Outcome; import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.ReplacementEffectImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.game.Game; import mage.game.events.GameEvent; @@ -56,7 +56,7 @@ public class ShadowOfDoubt extends CardImpl { // Players can't search libraries this turn. this.getSpellAbility().addEffect(new LibrariesCantBeSearchedEffect()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public ShadowOfDoubt(final ShadowOfDoubt card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/SurveillingSprite.java b/Mage.Sets/src/mage/sets/ravnika/SurveillingSprite.java index 5a9831f86a0..3ee78944e8d 100644 --- a/Mage.Sets/src/mage/sets/ravnika/SurveillingSprite.java +++ b/Mage.Sets/src/mage/sets/ravnika/SurveillingSprite.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -54,7 +54,7 @@ public class SurveillingSprite extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Surveilling Sprite dies, you may draw a card. - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), true)); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); } public SurveillingSprite(final SurveillingSprite card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/Terrarion.java b/Mage.Sets/src/mage/sets/ravnika/Terrarion.java index 743234de798..5654a5f68e9 100644 --- a/Mage.Sets/src/mage/sets/ravnika/Terrarion.java +++ b/Mage.Sets/src/mage/sets/ravnika/Terrarion.java @@ -38,7 +38,7 @@ import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ManaEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -66,7 +66,7 @@ public class Terrarion extends CardImpl { ability.addChoice(new ChoiceColor()); this.addAbility(ability); // When Terrarion is put into a graveyard from the battlefield, draw a card. - this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public Terrarion(final Terrarion card) { diff --git a/Mage.Sets/src/mage/sets/returntoravnica/AzoriusCharm.java b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusCharm.java index 3adb62bf425..c61157d6af8 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/AzoriusCharm.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusCharm.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.Mode; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.keyword.LifelinkAbility; @@ -59,7 +59,7 @@ public class AzoriusCharm extends CardImpl { // or draw a card; Mode mode = new Mode(); - mode.getEffects().add(new DrawCardControllerEffect(1)); + mode.getEffects().add(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addMode(mode); // or put target attacking or blocking creature on top of its owner's library. diff --git a/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java b/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java index 8ce877b1c5a..815b865401f 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.DetainTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -65,7 +65,7 @@ public class InactionInjunction extends CardImpl { this.getSpellAbility().addTarget(target); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/IsperiaSupremeJudge.java b/Mage.Sets/src/mage/sets/returntoravnica/IsperiaSupremeJudge.java index e0fbf3275fb..0bcb5090996 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/IsperiaSupremeJudge.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/IsperiaSupremeJudge.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.Zone; @@ -80,7 +80,7 @@ public class IsperiaSupremeJudge extends CardImpl { class IsperiaSupremeJudgeTriggeredAbility extends TriggeredAbilityImpl { public IsperiaSupremeJudgeTriggeredAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); } public IsperiaSupremeJudgeTriggeredAbility(final IsperiaSupremeJudgeTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/sets/returntoravnica/MercurialChemister.java b/Mage.Sets/src/mage/sets/returntoravnica/MercurialChemister.java index e422cd849f0..7769d995d18 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/MercurialChemister.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/MercurialChemister.java @@ -39,7 +39,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.common.DiscardCostCardConvertedMana; import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -61,7 +61,7 @@ public class MercurialChemister extends CardImpl { this.toughness = new MageInt(3); // {U}, {T}: Draw two cards. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(2), new ManaCostsImpl("{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl("{U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/NivMizzetDracogenius.java b/Mage.Sets/src/mage/sets/returntoravnica/NivMizzetDracogenius.java index c9103963f8e..b6447e1d133 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/NivMizzetDracogenius.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/NivMizzetDracogenius.java @@ -37,7 +37,7 @@ import mage.abilities.common.DealsDamageToAPlayerTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.target.common.TargetCreatureOrPlayer; @@ -65,7 +65,7 @@ public class NivMizzetDracogenius extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Whenever Niv-Mizzet, Dracogenius deals damage to a player, you may draw a card. - this.addAbility(new DealsDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), true)); + this.addAbility(new DealsDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); // {U}{R}: Niv-Mizzet, Dracogenius deals 1 damage to target creature or player. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1),new ManaCostsImpl("{U}{R}")); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/Runewing.java b/Mage.Sets/src/mage/sets/returntoravnica/Runewing.java index a3dceac38b7..6b2122b319b 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/Runewing.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/Runewing.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DefenderAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -64,7 +64,7 @@ public class Runewing extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Runewing dies, draw a card. - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public Runewing(final Runewing card) { diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SphinxOfTheChimes.java b/Mage.Sets/src/mage/sets/returntoravnica/SphinxOfTheChimes.java index d3e89255141..28c4730d197 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/SphinxOfTheChimes.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/SphinxOfTheChimes.java @@ -38,7 +38,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardTargetCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.Card; import mage.cards.CardImpl; @@ -71,7 +71,7 @@ public class SphinxOfTheChimes extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Discard two nonland cards with the same name: Draw four cards. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(4), new DiscardTwoNonlandCardsWithTheSameNameCost()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(4), new DiscardTwoNonlandCardsWithTheSameNameCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SphinxsRevelation.java b/Mage.Sets/src/mage/sets/returntoravnica/SphinxsRevelation.java index 1e2c4ee8c74..173aabe93c0 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/SphinxsRevelation.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/SphinxsRevelation.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; @@ -52,7 +52,7 @@ public class SphinxsRevelation extends CardImpl { // You gain X life and draw X cards. ManacostVariableValue manaX = new ManacostVariableValue(); this.getSpellAbility().addEffect(new GainLifeEffect(manaX)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(manaX)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(manaX)); } public SphinxsRevelation (final SphinxsRevelation card) { diff --git a/Mage.Sets/src/mage/sets/returntoravnica/StealerOfSecrets.java b/Mage.Sets/src/mage/sets/returntoravnica/StealerOfSecrets.java index 8b7cf30955a..98cff85185d 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/StealerOfSecrets.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/StealerOfSecrets.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.filter.common.FilterControlledCreaturePermanent; @@ -61,7 +61,7 @@ public class StealerOfSecrets extends CardImpl { this.toughness = new MageInt(2); // Whenever Stealer of Secrets deals combat damage to a player, draw a card. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public StealerOfSecrets(final StealerOfSecrets card) { diff --git a/Mage.Sets/src/mage/sets/returntoravnica/UnderworldConnections.java b/Mage.Sets/src/mage/sets/returntoravnica/UnderworldConnections.java index bab3c105372..1310d51f366 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/UnderworldConnections.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/UnderworldConnections.java @@ -41,7 +41,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; @@ -71,7 +71,7 @@ public class UnderworldConnections extends CardImpl { this.addAbility(ability); // Enchanted land has "{T}, Pay 1 life: Draw a card." - Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); gainedAbility.addCost(new PayLifeCost(1)); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule))); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/ViashinoRacketeer.java b/Mage.Sets/src/mage/sets/returntoravnica/ViashinoRacketeer.java index 5a3ba3ab1dd..9c10bf762ca 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/ViashinoRacketeer.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/ViashinoRacketeer.java @@ -34,7 +34,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -54,7 +54,7 @@ public class ViashinoRacketeer extends CardImpl { this.toughness = new MageInt(1); // When Viashino Racketeer enters the battlefield, you may discard a card. If you do, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new DiscardCardCost()))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new DiscardCardCost()))); } public ViashinoRacketeer(final ViashinoRacketeer card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AngelheartVial.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AngelheartVial.java index c370739e29c..c57b3d4aa05 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AngelheartVial.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AngelheartVial.java @@ -40,7 +40,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.game.Game; @@ -65,7 +65,7 @@ public class AngelheartVial extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(4)))); - ability.addEffect(new DrawCardControllerEffect(1)); + ability.addEffect(new DrawCardSourceControllerEffect(1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AuraFinesse.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AuraFinesse.java index 926ee2c74ac..92df399d472 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AuraFinesse.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AuraFinesse.java @@ -34,7 +34,7 @@ import mage.constants.Rarity; import mage.constants.TargetController; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterEnchantment; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -68,7 +68,7 @@ public class AuraFinesse extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filter)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public AuraFinesse(final AuraFinesse card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/DreamstoneHedron.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/DreamstoneHedron.java index d591aa13729..464275329f0 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/DreamstoneHedron.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/DreamstoneHedron.java @@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.BasicManaEffect; import mage.abilities.mana.BasicManaAbility; import mage.cards.CardImpl; @@ -53,7 +53,7 @@ public class DreamstoneHedron extends CardImpl { this.addAbility(new DreamstoneHedronFirstManaAbility()); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new DrawCardControllerEffect(3), + new DrawCardSourceControllerEffect(3), new GenericManaCost(3)); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/EnclaveCryptologist.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/EnclaveCryptologist.java index 64192624c1c..63057335506 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/EnclaveCryptologist.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/EnclaveCryptologist.java @@ -38,7 +38,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.LevelUpAbility; @@ -66,7 +66,7 @@ public class EnclaveCryptologist extends LevelerCard { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost()); Abilities abilities1 = new AbilitiesImpl(ability); - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); Abilities abilities2 = new AbilitiesImpl(ability); LevelerCardBuilder.construct(this, diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/FleetingDistraction.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/FleetingDistraction.java index d323dcd05c8..e3185406b6b 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/FleetingDistraction.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/FleetingDistraction.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -49,7 +49,7 @@ public class FleetingDistraction extends CardImpl { this.expansionSetCode = "ROE"; this.color.setBlue(true); this.getSpellAbility().addEffect(new BoostTargetEffect(-1, 0, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/IrresistiblePrey.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/IrresistiblePrey.java index 98024272e5b..53124758085 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/IrresistiblePrey.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/IrresistiblePrey.java @@ -29,7 +29,7 @@ package mage.sets.riseoftheeldrazi; import java.util.UUID; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneTargetEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.cards.CardImpl; @@ -58,7 +58,7 @@ public class IrresistiblePrey extends CardImpl { new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneTargetEffect()), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public IrresistiblePrey(final IrresistiblePrey card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/KorSpiritdancer.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/KorSpiritdancer.java index c63180060cb..b3f7e169b83 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/KorSpiritdancer.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/KorSpiritdancer.java @@ -36,7 +36,7 @@ import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.dynamicvalue.common.AuraAttachedCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; @@ -68,7 +68,7 @@ public class KorSpiritdancer extends CardImpl { AuraAttachedCount count = new AuraAttachedCount(2); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield))); // Whenever you cast an Aura spell, you may draw a card. - this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, true)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, true)); } public KorSpiritdancer(final KorSpiritdancer card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/KozilekButcherOfTruth.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/KozilekButcherOfTruth.java index 9fb5f0e17e9..ff3a646d9bc 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/KozilekButcherOfTruth.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/KozilekButcherOfTruth.java @@ -39,7 +39,7 @@ import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.PutIntoGraveFromAnywhereTriggeredAbility; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.AnnihilatorAbility; import mage.cards.CardImpl; import mage.game.Game; @@ -81,7 +81,7 @@ class KozilekButcherOfTruthOnCastAbility extends TriggeredAbilityImpl { this.expansionSetCode = "ROE"; this.color.setBlack(true); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(new SwampwalkAbility(), Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PelakkaWurm.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PelakkaWurm.java index 7f780d0205f..b7a6ef2ceea 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PelakkaWurm.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PelakkaWurm.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class PelakkaWurm extends CardImpl { this.addAbility(TrampleAbility.getInstance()); this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(7), false)); - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public PelakkaWurm(final PelakkaWurm card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PropheticPrism.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PropheticPrism.java index d4ef8292954..c5bc321d2e3 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PropheticPrism.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PropheticPrism.java @@ -34,7 +34,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; @@ -49,7 +49,7 @@ public class PropheticPrism extends CardImpl { this.expansionSetCode = "ROE"; // When Prophetic Prism enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // {1}, {T}: Add one mana of any color to your mana pool. Ability ability = new AnyColorManaAbility(new GenericManaCost(1)); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/RepelTheDarkness.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/RepelTheDarkness.java index 809702efda0..6ee61dfe4b2 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/RepelTheDarkness.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/RepelTheDarkness.java @@ -30,7 +30,7 @@ package mage.sets.riseoftheeldrazi; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +48,7 @@ public class RepelTheDarkness extends CardImpl { this.color.setWhite(true); this.getSpellAbility().addEffect(new TapTargetEffect()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2)); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SharedDiscovery.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SharedDiscovery.java index e09a215a4cc..96927096a78 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SharedDiscovery.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SharedDiscovery.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.costs.common.TapTargetCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -58,7 +58,7 @@ public class SharedDiscovery extends CardImpl { // As an additional cost to cast Shared Discovery, tap four untapped creatures you control. // Draw three cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); this.getSpellAbility().addCost(new TapTargetCost(new TargetControlledCreaturePermanent(4, 4, filter, true))); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SnakeUmbra.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SnakeUmbra.java index 29b2caa5692..955b494f3c5 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SnakeUmbra.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SnakeUmbra.java @@ -34,7 +34,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DealsDamageToOpponentTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostEnchantedEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; @@ -67,7 +67,7 @@ public class SnakeUmbra extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield))); // and has "Whenever this creature deals damage to an opponent, you may draw a card." - Ability gainedAbility = new DealsDamageToOpponentTriggeredAbility(new DrawCardControllerEffect(1), true); + Ability gainedAbility = new DealsDamageToOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1), true); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA))); // Totem armor diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SphinxOfMagosi.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SphinxOfMagosi.java index ad8d1080c50..397dbb89cef 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SphinxOfMagosi.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SphinxOfMagosi.java @@ -36,7 +36,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -57,7 +57,7 @@ public class SphinxOfMagosi extends CardImpl { this.power = new MageInt(6); this.toughness = new MageInt(6); this.addAbility(FlyingAbility.getInstance()); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{2}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{U}")); ability.addEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SurrakarSpellblade.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SurrakarSpellblade.java index 0c40358db20..cec3760de08 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SurrakarSpellblade.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SurrakarSpellblade.java @@ -34,7 +34,7 @@ import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.counters.CounterType; @@ -69,7 +69,7 @@ public class SurrakarSpellblade extends CardImpl { this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), filter, true)); // Whenever Surrakar Spellblade deals combat damage to a player, you may draw X cards, where X is the number of charge counters on it. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(new CountersCount(CounterType.CHARGE)), true)); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(new CountersCount(CounterType.CHARGE)), true)); } public SurrakarSpellblade(final SurrakarSpellblade card) { diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/WallOfOmens.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/WallOfOmens.java index efa9bec75c5..2cef0bf7717 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/WallOfOmens.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/WallOfOmens.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; @@ -52,7 +52,7 @@ public class WallOfOmens extends CardImpl { this.toughness = new MageInt(4); this.addAbility(DefenderAbility.getInstance()); - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public WallOfOmens(final WallOfOmens card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/DosansOldestChant.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/DosansOldestChant.java index 7eb7117345b..d9173fc0485 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/DosansOldestChant.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/DosansOldestChant.java @@ -30,7 +30,7 @@ package mage.sets.saviorsofkamigawa; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; @@ -47,7 +47,7 @@ public class DosansOldestChant extends CardImpl { // You gain 6 life. this.getSpellAbility().addEffect(new GainLifeEffect(6)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public DosansOldestChant(final DosansOldestChant card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/Dreamcatcher.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/Dreamcatcher.java index 2c21b5ddfc1..18d89b40ea1 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/Dreamcatcher.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/Dreamcatcher.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -56,7 +56,7 @@ public class Dreamcatcher extends CardImpl { // Whenever you cast a Spirit or Arcane spell, you may sacrifice Dreamcatcher. If you do, draw a card. Ability ability = new SpellCastControllerTriggeredAbility(new SacrificeSourceEffect(), new FilterSpiritOrArcaneCard(), true, "Whenever you cast a Spirit or Arcane spell, you may sacrifice Dreamcatcher. If you do, draw a card."); - ability.addEffect(new DrawCardControllerEffect(1)); + ability.addEffect(new DrawCardSourceControllerEffect(1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java index 6dbee682fa6..30bcf72d28c 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/HaruOnna.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.filter.common.FilterSpiritOrArcaneCard; @@ -55,7 +55,7 @@ public class HaruOnna extends CardImpl { this.toughness = new MageInt(1); // When Haru-Onna enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // Whenever you cast a Spirit or Arcane spell, you may return Haru-Onna to its owner's hand. this.addAbility(new SpellCastControllerTriggeredAbility(new ReturnToHandSourceEffect(), filter, true)); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/IdeasUnbound.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/IdeasUnbound.java index 3dbd13d5a72..652eacb0067 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/IdeasUnbound.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/IdeasUnbound.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.abilities.common.delayed.AtEndOfTurnDelayedTriggeredAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -50,7 +50,7 @@ public class IdeasUnbound extends CardImpl { this.color.setBlue(true); // Draw three cards. Discard three cards at the beginning of the next end step. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtEndOfTurnDelayedTriggeredAbility(new DiscardControllerEffect(3)))); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/RekiTheHistoryOfKamigawa.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/RekiTheHistoryOfKamigawa.java index 0b0e0079d5c..68085a71cc8 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/RekiTheHistoryOfKamigawa.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/RekiTheHistoryOfKamigawa.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.SupertypePredicate; @@ -59,7 +59,7 @@ public class RekiTheHistoryOfKamigawa extends CardImpl this.power = new MageInt(1); this.toughness = new MageInt(2); // Whenever you cast a legendary spell, draw a card. - this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, false)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, false)); } public RekiTheHistoryOfKamigawa(final RekiTheHistoryOfKamigawa card) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/RushingTideZubera.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/RushingTideZubera.java index d6ea14ae1a7..89fb3273c2c 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/RushingTideZubera.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/RushingTideZubera.java @@ -34,7 +34,7 @@ import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -60,7 +60,7 @@ public class RushingTideZubera extends CardImpl { this.toughness = new MageInt(3); // When Rushing-Tide Zubera dies, if 4 or more damage was dealt to it this turn, draw three cards. - Ability ability = new ConditionalTriggeredAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(3)),new RushingTideZuberaCondition(), + Ability ability = new ConditionalTriggeredAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(3)),new RushingTideZuberaCondition(), "When {this} dies, if 4 or more damage was dealt to it this turn, draw three cards."); ability.addTarget(new TargetCreatureOrPlayer()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/DarkslickDrake.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/DarkslickDrake.java index fb98fde5837..59be8e62664 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/DarkslickDrake.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/DarkslickDrake.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -52,7 +52,7 @@ public class DarkslickDrake extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public DarkslickDrake (final DarkslickDrake card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/FlightSpellbomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/FlightSpellbomb.java index e491c83ab6c..1272815204a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/FlightSpellbomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/FlightSpellbomb.java @@ -40,7 +40,7 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -59,7 +59,7 @@ public class FlightSpellbomb extends CardImpl { ability.addCost(new SacrificeSourceCost()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); - this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{U}")), false)); + this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{U}")), false)); } public FlightSpellbomb (final FlightSpellbomb card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/HaltOrder.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/HaltOrder.java index 90a3df744ae..1d56be6be2b 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/HaltOrder.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/HaltOrder.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +56,7 @@ public class HaltOrder extends CardImpl { this.color.setBlue(true); this.getSpellAbility().addTarget(new TargetSpell(filter)); this.getSpellAbility().addEffect(new CounterTargetEffect()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public HaltOrder (final HaltOrder card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/HorizonSpellbomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/HorizonSpellbomb.java index 8c250722c23..e0b9ea56fbc 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/HorizonSpellbomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/HorizonSpellbomb.java @@ -37,7 +37,7 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.filter.common.FilterBasicLandCard; @@ -63,7 +63,7 @@ public class HorizonSpellbomb extends CardImpl { ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); // When Horizon Spellbomb is put into a graveyard from the battlefield, you may pay {G}. If you do, draw a card. - this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{G}")))); + this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}")))); } public HorizonSpellbomb(final HorizonSpellbomb card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/InfiltrationLens.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/InfiltrationLens.java index cd3710b7473..f1b7bfca72e 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/InfiltrationLens.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/InfiltrationLens.java @@ -35,7 +35,7 @@ import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.game.Game; @@ -54,7 +54,7 @@ public class InfiltrationLens extends CardImpl { this.subtype.add("Equipment"); // Whenever equipped creature becomes blocked by a creature, you may draw two cards. - this.addAbility(new EquippedBecomesBlockedTriggeredAbility(new DrawCardControllerEffect(2), true)); + this.addAbility(new EquippedBecomesBlockedTriggeredAbility(new DrawCardSourceControllerEffect(2), true)); // Equip {1} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/InstillInfection.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/InstillInfection.java index d2780987f29..57b160f6206 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/InstillInfection.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/InstillInfection.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +48,7 @@ public class InstillInfection extends CardImpl { this.expansionSetCode = "SOM"; this.color.setBlack(true); this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance())); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/MoriokReplica.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/MoriokReplica.java index aa02d094aae..0ae3acc9664 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/MoriokReplica.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/MoriokReplica.java @@ -37,7 +37,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; @@ -53,7 +53,7 @@ public class MoriokReplica extends CardImpl { this.subtype.add("Warrior"); this.power = new MageInt(2); this.toughness = new MageInt(2); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(2), new ManaCostsImpl("{1}{B}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl("{1}{B}")); ability.addCost(new SacrificeSourceCost()); ability.addEffect(new LoseLifeSourceControllerEffect(2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java index 61e7551117b..6a699d75403 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java @@ -34,7 +34,7 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ExileGraveyardAllTargetPlayerEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -58,7 +58,7 @@ public class NihilSpellbomb extends CardImpl { ability.addTarget(new TargetPlayer()); this.addAbility(ability); // When Nihil Spellbomb is put into a graveyard from the battlefield, you may pay {B}. If you do, draw a card. - this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{B}")), false)); + this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{B}")), false)); } public NihilSpellbomb(final NihilSpellbomb card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/OriginSpellbomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/OriginSpellbomb.java index 46ca4757268..7f290d1ffc3 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/OriginSpellbomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/OriginSpellbomb.java @@ -41,7 +41,7 @@ import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.game.permanent.token.MyrToken; @@ -58,7 +58,7 @@ public class OriginSpellbomb extends CardImpl { ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); - this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{W}")), false)); + this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{W}")), false)); } public OriginSpellbomb (final OriginSpellbomb card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/PanicSpellbomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/PanicSpellbomb.java index 5d1632ce7d3..1a08c3c239a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/PanicSpellbomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/PanicSpellbomb.java @@ -40,7 +40,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.common.TargetCreaturePermanent; @@ -58,7 +58,7 @@ public class PanicSpellbomb extends CardImpl { ability.addCost(new SacrificeSourceCost()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); - this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{R}")), false)); + this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}")), false)); } public PanicSpellbomb(final PanicSpellbomb card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/SliceinTwain.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/SliceinTwain.java index f5fb1877bd5..89dd0fda301 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/SliceinTwain.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/SliceinTwain.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -57,7 +57,7 @@ public class SliceinTwain extends CardImpl { this.expansionSetCode = "SOM"; this.color.setGreen(true); this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetPermanent(filter)); } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/SteadyProgress.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/SteadyProgress.java index 28b0ef3db24..88af7ffafcf 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/SteadyProgress.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/SteadyProgress.java @@ -31,7 +31,7 @@ package mage.sets.scarsofmirrodin; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.ProliferateEffect; import mage.cards.CardImpl; @@ -46,7 +46,7 @@ public class SteadyProgress extends CardImpl { this.expansionSetCode = "SOM"; this.color.setBlue(true); this.getSpellAbility().addEffect(new ProliferateEffect()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public SteadyProgress (final SteadyProgress card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TelJiladDefiance.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TelJiladDefiance.java index 45d3b24cbe5..d8517def8c7 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TelJiladDefiance.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TelJiladDefiance.java @@ -30,7 +30,7 @@ package mage.sets.scarsofmirrodin; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainProtectionFromTypeTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -50,7 +50,7 @@ public class TelJiladDefiance extends CardImpl { this.color.setGreen(true); this.getSpellAbility().addEffect(new GainProtectionFromTypeTargetEffect(Duration.EndOfTurn, new FilterArtifactCard("artifacts"))); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public TelJiladDefiance(final TelJiladDefiance card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfThought.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfThought.java index 86a6e31a201..1f37b7fe088 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfThought.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfThought.java @@ -38,7 +38,7 @@ import mage.abilities.costs.CostsImpl; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.counters.CounterType; @@ -62,7 +62,7 @@ public class TrigonOfThought extends CardImpl { Costs costs = new CostsImpl(); costs.add(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); costs.add(new TapSourceCost()); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), costs); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), costs); ability.addManaCost(new GenericManaCost(2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TwistedImage.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TwistedImage.java index 5564bcbbf09..54695aa8323 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TwistedImage.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TwistedImage.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.SwitchPowerToughnessTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -49,7 +49,7 @@ public class TwistedImage extends CardImpl { this.expansionSetCode = "SOM"; this.color.setBlue(true); this.getSpellAbility().addEffect(new SwitchPowerToughnessTargetEffect(Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ViridianRevel.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ViridianRevel.java index 9b16c39db80..9faca381c2a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ViridianRevel.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ViridianRevel.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.constants.Zone; @@ -66,7 +66,7 @@ public class ViridianRevel extends CardImpl { class ViridianRevelTriggeredAbility extends TriggeredAbilityImpl { ViridianRevelTriggeredAbility() { - super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); } ViridianRevelTriggeredAbility(final ViridianRevelTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/AphoticWisps.java b/Mage.Sets/src/mage/sets/shadowmoor/AphoticWisps.java index ef93c342480..799ce57c17e 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/AphoticWisps.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/AphoticWisps.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.ObjectColor; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.effects.common.continious.SetCardColorTargetEffect; import mage.abilities.keyword.FearAbility; @@ -56,7 +56,7 @@ public class AphoticWisps extends CardImpl { this.getSpellAbility().addEffect(new SetCardColorTargetEffect(ObjectColor.BLACK, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public AphoticWisps (final AphoticWisps card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/CeruleanWisps.java b/Mage.Sets/src/mage/sets/shadowmoor/CeruleanWisps.java index f4c4445f48d..bd36620e849 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/CeruleanWisps.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/CeruleanWisps.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.ObjectColor; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.UntapTargetEffect; import mage.abilities.effects.common.continious.SetCardColorTargetEffect; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class CeruleanWisps extends CardImpl { this.getSpellAbility().addEffect(new SetCardColorTargetEffect(ObjectColor.BLUE, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new UntapTargetEffect()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public CeruleanWisps (final CeruleanWisps card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/CrimsonWisps.java b/Mage.Sets/src/mage/sets/shadowmoor/CrimsonWisps.java index 1658db782a7..70d65869e00 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/CrimsonWisps.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/CrimsonWisps.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.ObjectColor; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.effects.common.continious.SetCardColorTargetEffect; import mage.abilities.keyword.HasteAbility; @@ -57,7 +57,7 @@ public class CrimsonWisps extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public CrimsonWisps (final CrimsonWisps card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/ElsewhereFlask.java b/Mage.Sets/src/mage/sets/shadowmoor/ElsewhereFlask.java index 521124046e5..cea74977a3a 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/ElsewhereFlask.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/ElsewhereFlask.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.*; import mage.cards.CardImpl; import mage.choices.ChoiceImpl; @@ -58,7 +58,7 @@ public class ElsewhereFlask extends CardImpl { this.expansionSetCode = "SHM"; // When Elsewhere Flask enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // Sacrifice Elsewhere Flask: Choose a basic land type. Each land you control becomes that type until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ElsewhereFlaskEffect(), new SacrificeSourceCost())); diff --git a/Mage.Sets/src/mage/sets/shadowmoor/FlowOfIdeas.java b/Mage.Sets/src/mage/sets/shadowmoor/FlowOfIdeas.java index 4470dffda94..9b8f65ceaec 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/FlowOfIdeas.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/FlowOfIdeas.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -55,7 +55,7 @@ public class FlowOfIdeas extends CardImpl { this.color.setBlue(true); // Draw a card for each Island you control. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter))); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter))); } public FlowOfIdeas(final FlowOfIdeas card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java b/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java index f0e24efdb8d..cc7eb65ec65 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java @@ -36,7 +36,7 @@ import mage.abilities.condition.common.EnchantedCreatureColorCondition; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DiscardTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostEnchantedEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; @@ -71,7 +71,7 @@ public class HelmOfTheGhastlord extends CardImpl { this.addAbility(ability); // As long as enchanted creature is blue, it gets +1/+1 and has "Whenever this creature deals damage to an opponent, draw a card." SimpleStaticAbility blueAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "As long as enchanted creature is blue, it gets +1/+1")); - blueAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1),false), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "and has \"Whenever this creature deals damage to an opponent, draw a card.\"")); + blueAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1),false), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "and has \"Whenever this creature deals damage to an opponent, draw a card.\"")); this.addAbility(blueAbility); // As long as enchanted creature is black, it gets +1/+1 and has "Whenever this creature deals damage to an opponent, that player discards a card." SimpleStaticAbility blackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +1/+1")); diff --git a/Mage.Sets/src/mage/sets/shadowmoor/Manamorphose.java b/Mage.Sets/src/mage/sets/shadowmoor/Manamorphose.java index 45cc9c0d840..cb9f5569dfb 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/Manamorphose.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/Manamorphose.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ManaEffect; import mage.cards.CardImpl; import mage.choices.ChoiceColor; @@ -57,7 +57,7 @@ public class Manamorphose extends CardImpl { this.getSpellAbility().addChoice(new ChoiceColor()); this.getSpellAbility().addChoice(new ChoiceColor()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Manamorphose(final Manamorphose card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/NiveousWisps.java b/Mage.Sets/src/mage/sets/shadowmoor/NiveousWisps.java index 561bae31052..466f7169f45 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/NiveousWisps.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/NiveousWisps.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.ObjectColor; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.effects.common.continious.SetCardColorTargetEffect; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class NiveousWisps extends CardImpl { this.getSpellAbility().addEffect(new SetCardColorTargetEffect(ObjectColor.WHITE, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new TapTargetEffect()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public NiveousWisps (final NiveousWisps card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/SyggRiverCutthroat.java b/Mage.Sets/src/mage/sets/shadowmoor/SyggRiverCutthroat.java index 80c56645421..edb653c701b 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/SyggRiverCutthroat.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/SyggRiverCutthroat.java @@ -36,7 +36,7 @@ import mage.MageInt; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.OpponentLostLifeCondition; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.TargetController; @@ -60,7 +60,7 @@ public class SyggRiverCutthroat extends CardImpl { // At the beginning of each end step, if an opponent lost 3 or more life this turn, you may draw a card. this.addAbility(new BeginningOfEndStepTriggeredAbility(Zone.BATTLEFIELD, - new DrawCardControllerEffect(1), + new DrawCardSourceControllerEffect(1), TargetController.ANY, new OpponentLostLifeCondition(Condition.ComparisonType.GreaterThan, 2), true)); diff --git a/Mage.Sets/src/mage/sets/shadowmoor/ViridescentWisps.java b/Mage.Sets/src/mage/sets/shadowmoor/ViridescentWisps.java index d79a55312b8..27183279256 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/ViridescentWisps.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/ViridescentWisps.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.ObjectColor; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.abilities.effects.common.continious.SetCardColorTargetEffect; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class ViridescentWisps extends CardImpl { this.getSpellAbility().addEffect(new SetCardColorTargetEffect(ObjectColor.GREEN, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new BoostTargetEffect(1,0, Duration.EndOfTurn)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public ViridescentWisps (final ViridescentWisps card) { diff --git a/Mage.Sets/src/mage/sets/shardsofalara/CouriersCapsule.java b/Mage.Sets/src/mage/sets/shardsofalara/CouriersCapsule.java index a14e0db7e2d..f010fcaf4d0 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/CouriersCapsule.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/CouriersCapsule.java @@ -36,7 +36,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -50,7 +50,7 @@ public class CouriersCapsule extends CardImpl { this.expansionSetCode = "ALA"; this.color.setBlue(true); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(2), new ManaCostsImpl("{1}{U}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl("{1}{U}")); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java b/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java index 3a0a290a783..3713cfcbd07 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/CruelUltimatum.java @@ -65,7 +65,7 @@ public class CruelUltimatum extends CardImpl { this.getSpellAbility().addEffect(new LoseLifeTargetEffect(5)); this.getSpellAbility().addEffect(new CruelUltimatumEffect()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); this.getSpellAbility().addEffect(new GainLifeEffect(5)); } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/Drumhunter.java b/Mage.Sets/src/mage/sets/shardsofalara/Drumhunter.java index 75e608a4f87..9ceb19fe5c7 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/Drumhunter.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/Drumhunter.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.constants.Zone; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.filter.Filter; @@ -84,7 +84,7 @@ class DrumHunterTriggeredAbility extends TriggeredAbilityImpl { this.color.setGreen(true); this.power = new MageInt(1); this.toughness = new MageInt(1); - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public ElvishVisionary (final ElvishVisionary card) { diff --git a/Mage.Sets/src/mage/sets/shardsofalara/EsperCharm.java b/Mage.Sets/src/mage/sets/shardsofalara/EsperCharm.java index 914a262b0e7..f39d163cb5b 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/EsperCharm.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/EsperCharm.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.abilities.Mode; import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.DiscardTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -65,7 +65,7 @@ public class EsperCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filter)); // or draw two cards; Mode mode = new Mode(); - mode.getEffects().add(new DrawCardControllerEffect(2)); + mode.getEffects().add(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addMode(mode); // or target player discards two cards. mode = new Mode(); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/EtheriumAstrolabe.java b/Mage.Sets/src/mage/sets/shardsofalara/EtheriumAstrolabe.java index 67bcaefdae7..ac13fce06d4 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/EtheriumAstrolabe.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/EtheriumAstrolabe.java @@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.constants.Zone; @@ -64,7 +64,7 @@ public class EtheriumAstrolabe extends CardImpl { // Flash this.addAbility(FlashAbility.getInstance()); // {B}, {tap}, Sacrifice an artifact: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{B}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{B}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/HinderingLight.java b/Mage.Sets/src/mage/sets/shardsofalara/HinderingLight.java index 302a2757f82..320defb5a24 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/HinderingLight.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/HinderingLight.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.ObjectPlayer; @@ -65,7 +65,7 @@ public class HinderingLight extends CardImpl { this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell(filter)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public HinderingLight(final HinderingLight card) { diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java b/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java index b30495b42f6..1e7bf7275a4 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java @@ -38,7 +38,7 @@ import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.PreventionEffectImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -61,7 +61,7 @@ public class ImmortalCoil extends CardImpl { this.color.setBlack(true); // {tap}, Exile two cards from your graveyard: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2, new FilterCard("cards from your graveyard")))); this.addAbility(ability); // If damage would be dealt to you, prevent that damage. Exile a card from your graveyard for each 1 damage prevented this way. diff --git a/Mage.Sets/src/mage/sets/shardsofalara/NayaPanorama.java b/Mage.Sets/src/mage/sets/shardsofalara/NayaPanorama.java index 9912d8d78e7..aad2658e365 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/NayaPanorama.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/NayaPanorama.java @@ -51,6 +51,7 @@ import mage.target.common.TargetCardInLibrary; * * @author North */ +@SuppressWarnings("unchecked") public class NayaPanorama extends CardImpl { private static final FilterCard filter = new FilterCard("a basic Mountain, Forest, or Plains card"); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java b/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java index 7334686a4ce..b1e93a586f1 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java @@ -38,7 +38,7 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.filter.FilterCard; @@ -65,7 +65,7 @@ public class RelicOfProgenitus extends CardImpl { // {1}, Exile Relic of Progenitus: Exile all cards from all graveyards. Draw a card. Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RelicOfProgenitusEffect2(),new GenericManaCost(1)); secondAbility.addCost(new SacrificeSourceCost()); - secondAbility.addEffect(new DrawCardControllerEffect(1)); + secondAbility.addEffect(new DrawCardSourceControllerEffect(1)); this.addAbility(secondAbility); } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/Skullmulcher.java b/Mage.Sets/src/mage/sets/shardsofalara/Skullmulcher.java index 4b53cb57b4c..c216b9ea787 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/Skullmulcher.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/Skullmulcher.java @@ -34,7 +34,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.dynamicvalue.common.DevouredCreaturesCount; import mage.abilities.effects.common.DevourEffect.DevourFactor; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; @@ -57,7 +57,7 @@ public class Skullmulcher extends CardImpl { // When Skullmulcher enters the battlefield, draw a card for each creature it devoured. this.addAbility(new EntersBattlefieldTriggeredAbility( - new DrawCardControllerEffect(new DevouredCreaturesCount()),false)); + new DrawCardSourceControllerEffect(new DevouredCreaturesCount()),false)); } public Skullmulcher(final Skullmulcher card) { diff --git a/Mage.Sets/src/mage/sets/stronghold/WallOfBlossoms.java b/Mage.Sets/src/mage/sets/stronghold/WallOfBlossoms.java index b09e978a753..59bd4eb8376 100644 --- a/Mage.Sets/src/mage/sets/stronghold/WallOfBlossoms.java +++ b/Mage.Sets/src/mage/sets/stronghold/WallOfBlossoms.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; @@ -56,7 +56,7 @@ public class WallOfBlossoms extends CardImpl { this.addAbility(DefenderAbility.getInstance()); // When Wall of Blossoms enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public WallOfBlossoms(final WallOfBlossoms card) { diff --git a/Mage.Sets/src/mage/sets/tempest/Dismiss.java b/Mage.Sets/src/mage/sets/tempest/Dismiss.java index ff4b1d518e5..7ba419cbf01 100644 --- a/Mage.Sets/src/mage/sets/tempest/Dismiss.java +++ b/Mage.Sets/src/mage/sets/tempest/Dismiss.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.TargetSpell; @@ -47,7 +47,7 @@ public class Dismiss extends CardImpl { this.color.setBlue(true); this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Dismiss(final Dismiss card) { diff --git a/Mage.Sets/src/mage/sets/tempest/FrogTongue.java b/Mage.Sets/src/mage/sets/tempest/FrogTongue.java index 014ca4ebe44..221a9db56b9 100644 --- a/Mage.Sets/src/mage/sets/tempest/FrogTongue.java +++ b/Mage.Sets/src/mage/sets/tempest/FrogTongue.java @@ -34,7 +34,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.ReachAbility; @@ -57,7 +57,7 @@ public class FrogTongue extends CardImpl { this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ReachAbility.getInstance(), AttachmentType.AURA))); } diff --git a/Mage.Sets/src/mage/sets/tempest/Gallantry.java b/Mage.Sets/src/mage/sets/tempest/Gallantry.java index 5ea9fe492d8..c8bd22684eb 100644 --- a/Mage.Sets/src/mage/sets/tempest/Gallantry.java +++ b/Mage.Sets/src/mage/sets/tempest/Gallantry.java @@ -32,7 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.cards.CardImpl; import mage.filter.common.FilterBlockingCreature; @@ -56,7 +56,7 @@ public class Gallantry extends CardImpl { this.getSpellAbility().addEffect(new BoostTargetEffect(4, 4, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Gallantry(final Gallantry card) { diff --git a/Mage.Sets/src/mage/sets/tempest/Insight.java b/Mage.Sets/src/mage/sets/tempest/Insight.java index 4a00b38118a..2304df86200 100644 --- a/Mage.Sets/src/mage/sets/tempest/Insight.java +++ b/Mage.Sets/src/mage/sets/tempest/Insight.java @@ -30,7 +30,7 @@ package mage.sets.tempest; import java.util.UUID; import mage.ObjectColor; import mage.abilities.common.SpellCastOpponentTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -56,7 +56,7 @@ public class Insight extends CardImpl { this.color.setBlue(true); // Whenever an opponent casts a green spell, you draw a card. - this.addAbility(new SpellCastOpponentTriggeredAbility(new DrawCardControllerEffect(1), filter, false)); + this.addAbility(new SpellCastOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, false)); } public Insight(final Insight card) { diff --git a/Mage.Sets/src/mage/sets/tempest/Meditate.java b/Mage.Sets/src/mage/sets/tempest/Meditate.java index 18db0bb6aaa..f2bd6e28867 100644 --- a/Mage.Sets/src/mage/sets/tempest/Meditate.java +++ b/Mage.Sets/src/mage/sets/tempest/Meditate.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Outcome; import mage.game.Game; @@ -52,7 +52,7 @@ public class Meditate extends CardImpl { this.color.setBlue(true); // Draw four cards. You skip your next turn. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(4)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(4)); this.getSpellAbility().addEffect(new SpipTurnEffect()); } diff --git a/Mage.Sets/src/mage/sets/tempest/MnemonicSliver.java b/Mage.Sets/src/mage/sets/tempest/MnemonicSliver.java index b3429c03feb..3f64a34f97a 100644 --- a/Mage.Sets/src/mage/sets/tempest/MnemonicSliver.java +++ b/Mage.Sets/src/mage/sets/tempest/MnemonicSliver.java @@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -63,7 +63,7 @@ public class MnemonicSliver extends CardImpl { this.color.setBlue(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(2)); + Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); gainedAbility.addCost(new SacrificeSourceCost()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, filter, false))); } diff --git a/Mage.Sets/src/mage/sets/tempest/WhispersOfTheMuse.java b/Mage.Sets/src/mage/sets/tempest/WhispersOfTheMuse.java index c80441c05cb..f16bea1b2a1 100644 --- a/Mage.Sets/src/mage/sets/tempest/WhispersOfTheMuse.java +++ b/Mage.Sets/src/mage/sets/tempest/WhispersOfTheMuse.java @@ -30,7 +30,7 @@ package mage.sets.tempest; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.BuybackAbility; import mage.cards.CardImpl; @@ -49,7 +49,7 @@ public class WhispersOfTheMuse extends CardImpl { this.addAbility(new BuybackAbility("{5}")); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public WhispersOfTheMuse(final WhispersOfTheMuse card) { diff --git a/Mage.Sets/src/mage/sets/tenth/Afflict.java b/Mage.Sets/src/mage/sets/tenth/Afflict.java index 9f64f92b2a0..1ef60f1dc3c 100644 --- a/Mage.Sets/src/mage/sets/tenth/Afflict.java +++ b/Mage.Sets/src/mage/sets/tenth/Afflict.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -49,7 +49,7 @@ public class Afflict extends CardImpl { this.color.setBlack(true); this.getSpellAbility().addEffect(new BoostTargetEffect(-1, -1, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Afflict(final Afflict card) { diff --git a/Mage.Sets/src/mage/sets/tenth/AggressiveUrge.java b/Mage.Sets/src/mage/sets/tenth/AggressiveUrge.java index fc4d65f555d..6f9a833718c 100644 --- a/Mage.Sets/src/mage/sets/tenth/AggressiveUrge.java +++ b/Mage.Sets/src/mage/sets/tenth/AggressiveUrge.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -49,7 +49,7 @@ public class AggressiveUrge extends CardImpl { this.color.setGreen(true); this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public AggressiveUrge(final AggressiveUrge card) { diff --git a/Mage.Sets/src/mage/sets/tenth/ArcanisTheOmnipotent.java b/Mage.Sets/src/mage/sets/tenth/ArcanisTheOmnipotent.java index ebb0a269bac..3000c86c00b 100644 --- a/Mage.Sets/src/mage/sets/tenth/ArcanisTheOmnipotent.java +++ b/Mage.Sets/src/mage/sets/tenth/ArcanisTheOmnipotent.java @@ -35,7 +35,7 @@ import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -54,7 +54,7 @@ public class ArcanisTheOmnipotent extends CardImpl { this.color.setBlue(true); this.power = new MageInt(3); this.toughness = new MageInt(4); - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(3), new TapSourceCost())); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(3), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(), new ManaCostsImpl("{2}{U}{U}"))); } diff --git a/Mage.Sets/src/mage/sets/tenth/AvenFisher.java b/Mage.Sets/src/mage/sets/tenth/AvenFisher.java index ddaa08ee040..ca65fd3cdd1 100644 --- a/Mage.Sets/src/mage/sets/tenth/AvenFisher.java +++ b/Mage.Sets/src/mage/sets/tenth/AvenFisher.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -51,7 +51,7 @@ public class AvenFisher extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), true)); + this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); } public AvenFisher(final AvenFisher card) { diff --git a/Mage.Sets/src/mage/sets/tenth/Bandage.java b/Mage.Sets/src/mage/sets/tenth/Bandage.java index d49e1c3164f..7e81ad9154e 100644 --- a/Mage.Sets/src/mage/sets/tenth/Bandage.java +++ b/Mage.Sets/src/mage/sets/tenth/Bandage.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.PreventDamageTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -49,7 +49,7 @@ public class Bandage extends CardImpl { this.color.setWhite(true); this.getSpellAbility().addEffect(new PreventDamageTargetEffect(Duration.EndOfTurn, 1)); this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Bandage(final Bandage card) { diff --git a/Mage.Sets/src/mage/sets/tenth/ChromaticStar.java b/Mage.Sets/src/mage/sets/tenth/ChromaticStar.java index 320090a0773..95cf3df2801 100644 --- a/Mage.Sets/src/mage/sets/tenth/ChromaticStar.java +++ b/Mage.Sets/src/mage/sets/tenth/ChromaticStar.java @@ -35,7 +35,7 @@ import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; @@ -52,7 +52,7 @@ public class ChromaticStar extends CardImpl { ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); - this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); } public ChromaticStar(final ChromaticStar card) { diff --git a/Mage.Sets/src/mage/sets/tenth/GravebornMuse.java b/Mage.Sets/src/mage/sets/tenth/GravebornMuse.java index 0ec4f83c785..3b039d2baa2 100644 --- a/Mage.Sets/src/mage/sets/tenth/GravebornMuse.java +++ b/Mage.Sets/src/mage/sets/tenth/GravebornMuse.java @@ -35,7 +35,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.TargetController; @@ -64,7 +64,7 @@ public class GravebornMuse extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, you draw X cards and you lose X life, where X is the number of Zombies you control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false); ability.addEffect(new LoseLifeSourceControllerEffect(new PermanentsOnBattlefieldCount(filter))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/tenth/JayemdaeTome.java b/Mage.Sets/src/mage/sets/tenth/JayemdaeTome.java index fd908e00060..a55d2c1bdd2 100644 --- a/Mage.Sets/src/mage/sets/tenth/JayemdaeTome.java +++ b/Mage.Sets/src/mage/sets/tenth/JayemdaeTome.java @@ -35,7 +35,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -48,7 +48,7 @@ public class JayemdaeTome extends CardImpl { public JayemdaeTome(UUID ownerId) { super(ownerId, 327, "Jayemdae Tome", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{4}"); this.expansionSetCode = "10E"; - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(4)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(4)); ability.addCost(new TapSourceCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/tenth/KavuClimber.java b/Mage.Sets/src/mage/sets/tenth/KavuClimber.java index 68ecbc0bb57..f8eda595e87 100644 --- a/Mage.Sets/src/mage/sets/tenth/KavuClimber.java +++ b/Mage.Sets/src/mage/sets/tenth/KavuClimber.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -48,7 +48,7 @@ public class KavuClimber extends CardImpl { this.color.setGreen(true); this.power = new MageInt(3); this.toughness = new MageInt(3); - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); } public KavuClimber(final KavuClimber card) { diff --git a/Mage.Sets/src/mage/sets/tenth/MindStone.java b/Mage.Sets/src/mage/sets/tenth/MindStone.java index 11c5590b8a1..2a3c72464eb 100644 --- a/Mage.Sets/src/mage/sets/tenth/MindStone.java +++ b/Mage.Sets/src/mage/sets/tenth/MindStone.java @@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.constants.Zone; @@ -51,7 +51,7 @@ public class MindStone extends CardImpl { super(ownerId, 335, "Mind Stone", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{2}"); this.expansionSetCode = "10E"; this.addAbility(new ColorlessManaAbility()); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/tenth/Peek.java b/Mage.Sets/src/mage/sets/tenth/Peek.java index a09b7901c72..e2f3e9b976d 100644 --- a/Mage.Sets/src/mage/sets/tenth/Peek.java +++ b/Mage.Sets/src/mage/sets/tenth/Peek.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Outcome; import mage.game.Game; @@ -56,7 +56,7 @@ public class Peek extends CardImpl { this.getSpellAbility().addEffect(new PeekEffect()); this.getSpellAbility().addTarget(new TargetPlayer()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Peek(final Peek card) { diff --git a/Mage.Sets/src/mage/sets/tenth/PhyrexianRager.java b/Mage.Sets/src/mage/sets/tenth/PhyrexianRager.java index aeb14452088..001c9e4708e 100644 --- a/Mage.Sets/src/mage/sets/tenth/PhyrexianRager.java +++ b/Mage.Sets/src/mage/sets/tenth/PhyrexianRager.java @@ -34,7 +34,7 @@ import mage.constants.Rarity; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; @@ -51,7 +51,7 @@ public class PhyrexianRager extends CardImpl { this.color.setBlack(true); this.power = new MageInt(2); this.toughness = new MageInt(2); - Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false); + Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false); ability.addEffect(new LoseLifeSourceControllerEffect(1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/tenth/PhyrexianVault.java b/Mage.Sets/src/mage/sets/tenth/PhyrexianVault.java index d9bf605c8b5..5e70337342c 100644 --- a/Mage.Sets/src/mage/sets/tenth/PhyrexianVault.java +++ b/Mage.Sets/src/mage/sets/tenth/PhyrexianVault.java @@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +50,7 @@ public class PhyrexianVault extends CardImpl { public PhyrexianVault(UUID ownerId) { super(ownerId, 337, "Phyrexian Vault", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); this.expansionSetCode = "10E"; - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(2)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent())); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/tenth/RevivingDose.java b/Mage.Sets/src/mage/sets/tenth/RevivingDose.java index 44162efc982..79793e0706e 100644 --- a/Mage.Sets/src/mage/sets/tenth/RevivingDose.java +++ b/Mage.Sets/src/mage/sets/tenth/RevivingDose.java @@ -30,7 +30,7 @@ package mage.sets.tenth; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; @@ -45,7 +45,7 @@ public class RevivingDose extends CardImpl { this.expansionSetCode = "10E"; this.color.setWhite(true); this.getSpellAbility().addEffect(new GainLifeEffect(3)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public RevivingDose(final RevivingDose card) { diff --git a/Mage.Sets/src/mage/sets/tenth/Tidings.java b/Mage.Sets/src/mage/sets/tenth/Tidings.java index 0910471a3c4..cfd631c4505 100644 --- a/Mage.Sets/src/mage/sets/tenth/Tidings.java +++ b/Mage.Sets/src/mage/sets/tenth/Tidings.java @@ -30,7 +30,7 @@ package mage.sets.tenth; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -43,7 +43,7 @@ public class Tidings extends CardImpl { super(ownerId, 116, "Tidings", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{U}{U}"); this.expansionSetCode = "10E"; this.color.setBlue(true); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(4)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(4)); } public Tidings(final Tidings card) { diff --git a/Mage.Sets/src/mage/sets/theros/ErebosGodOfTheDead.java b/Mage.Sets/src/mage/sets/theros/ErebosGodOfTheDead.java index 4f266f97383..720cf0e62fb 100644 --- a/Mage.Sets/src/mage/sets/theros/ErebosGodOfTheDead.java +++ b/Mage.Sets/src/mage/sets/theros/ErebosGodOfTheDead.java @@ -37,7 +37,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.LoseCreatureTypeSourceEffect; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; @@ -79,7 +79,7 @@ public class ErebosGodOfTheDead extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OpponentsCantGainLifeEffect())); // {1}{B}, Pay 2 life: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{1}{B}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}")); ability.addCost(new PayLifeCost(2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/timeshifted/ShadowmageInfiltrator.java b/Mage.Sets/src/mage/sets/timeshifted/ShadowmageInfiltrator.java index c64b44e59ff..c5e45bb9f88 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/ShadowmageInfiltrator.java +++ b/Mage.Sets/src/mage/sets/timeshifted/ShadowmageInfiltrator.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; @@ -56,7 +56,7 @@ public class ShadowmageInfiltrator extends CardImpl { // Fear this.addAbility(FearAbility.getInstance()); // Whenever Shadowmage Infiltrator deals combat damage to a player, you may draw a card. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), true)); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); } public ShadowmageInfiltrator(final ShadowmageInfiltrator card) { diff --git a/Mage.Sets/src/mage/sets/timespiral/Bewilder.java b/Mage.Sets/src/mage/sets/timespiral/Bewilder.java index fb1d1219cf6..2ff9aa0e6a5 100644 --- a/Mage.Sets/src/mage/sets/timespiral/Bewilder.java +++ b/Mage.Sets/src/mage/sets/timespiral/Bewilder.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.cards.CardImpl; import mage.constants.Duration; @@ -53,7 +53,7 @@ public class Bewilder extends CardImpl { this.getSpellAbility().addEffect(new BoostTargetEffect(-3, 0, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Bewilder(final Bewilder card) { diff --git a/Mage.Sets/src/mage/sets/timespiral/EternitySnare.java b/Mage.Sets/src/mage/sets/timespiral/EternitySnare.java index 5d09db44ba5..99aa5dffcc2 100644 --- a/Mage.Sets/src/mage/sets/timespiral/EternitySnare.java +++ b/Mage.Sets/src/mage/sets/timespiral/EternitySnare.java @@ -32,7 +32,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.SkipEnchantedUntapEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; @@ -64,7 +64,7 @@ public class EternitySnare extends CardImpl { this.addAbility(ability); // When Eternity Snare enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); // Enchanted creature doesn't untap during its controller's untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipEnchantedUntapEffect())); diff --git a/Mage.Sets/src/mage/sets/timespiral/NantukoShaman.java b/Mage.Sets/src/mage/sets/timespiral/NantukoShaman.java index 34c07b84de5..589dba99695 100644 --- a/Mage.Sets/src/mage/sets/timespiral/NantukoShaman.java +++ b/Mage.Sets/src/mage/sets/timespiral/NantukoShaman.java @@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.ControlsPermanentCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.filter.common.FilterLandPermanent; @@ -65,7 +65,7 @@ public class NantukoShaman extends CardImpl { // When Nantuko Shaman enters the battlefield, if you control no tapped lands, draw a card. Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)), + new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)), new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.EQUAL_TO, 0), "When {this} enters the battlefield, if you control no tapped lands, draw a card"); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/torment/Accelerate.java b/Mage.Sets/src/mage/sets/torment/Accelerate.java index c42b0ef8f3a..11b70dc2175 100644 --- a/Mage.Sets/src/mage/sets/torment/Accelerate.java +++ b/Mage.Sets/src/mage/sets/torment/Accelerate.java @@ -29,7 +29,7 @@ package mage.sets.torment; import java.util.UUID; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; @@ -54,7 +54,7 @@ public class Accelerate extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Accelerate(final Accelerate card) { diff --git a/Mage.Sets/src/mage/sets/torment/ObsessiveSearch.java b/Mage.Sets/src/mage/sets/torment/ObsessiveSearch.java index 95d8a516732..deb8bf0b383 100644 --- a/Mage.Sets/src/mage/sets/torment/ObsessiveSearch.java +++ b/Mage.Sets/src/mage/sets/torment/ObsessiveSearch.java @@ -30,7 +30,7 @@ package mage.sets.torment; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.MadnessAbility; import mage.cards.CardImpl; @@ -49,7 +49,7 @@ public class ObsessiveSearch extends CardImpl { this.color.setBlue(true); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); // Madness {U} this.addAbility(new MadnessAbility(this, new ManaCostsImpl("{U}"))); diff --git a/Mage.Sets/src/mage/sets/urzassaga/ArgothianEnchantress.java b/Mage.Sets/src/mage/sets/urzassaga/ArgothianEnchantress.java index 07bc994679c..65979fbd7a9 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/ArgothianEnchantress.java +++ b/Mage.Sets/src/mage/sets/urzassaga/ArgothianEnchantress.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.filter.FilterSpell; @@ -62,7 +62,7 @@ public class ArgothianEnchantress extends CardImpl { this.addAbility(ShroudAbility.getInstance()); // Whenever you cast an Enchantment spell, you draw a card. - this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, false)); + this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, false)); } public ArgothianEnchantress(final ArgothianEnchantress card) { diff --git a/Mage.Sets/src/mage/sets/urzassaga/Attunement.java b/Mage.Sets/src/mage/sets/urzassaga/Attunement.java index 8e7abf466b4..c32818ba61e 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/Attunement.java +++ b/Mage.Sets/src/mage/sets/urzassaga/Attunement.java @@ -34,7 +34,7 @@ import mage.constants.Zone; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.ReturnToHandSourceCost; import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -49,7 +49,7 @@ public class Attunement extends CardImpl { this.color.setBlue(true); // Return Attunement to its owner's hand: Draw three cards, then discard four cards. - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(3), new ReturnToHandSourceCost()); + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(3), new ReturnToHandSourceCost()); ability.addEffect(new DiscardControllerEffect(4)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/urzassaga/BarrinsCodex.java b/Mage.Sets/src/mage/sets/urzassaga/BarrinsCodex.java index 6e7578eed7d..a308617b1ea 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/BarrinsCodex.java +++ b/Mage.Sets/src/mage/sets/urzassaga/BarrinsCodex.java @@ -39,7 +39,7 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.dynamicvalue.common.CountersCount; import mage.cards.CardImpl; import mage.constants.TargetController; @@ -59,7 +59,7 @@ public class BarrinsCodex extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PAGE.createInstance()), TargetController.YOU, true)); //{4}, {T}, Sacrifice Barrin's Codex: Draw X cards, where X is the number of page counters on Barrin's Codex. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(new CountersCount(CounterType.PAGE)), new ManaCostsImpl("{4}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(new CountersCount(CounterType.PAGE)), new ManaCostsImpl("{4}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/visions/FemerefEnchantress.java b/Mage.Sets/src/mage/sets/visions/FemerefEnchantress.java index 49c38f0d009..0c76aef0127 100644 --- a/Mage.Sets/src/mage/sets/visions/FemerefEnchantress.java +++ b/Mage.Sets/src/mage/sets/visions/FemerefEnchantress.java @@ -30,7 +30,7 @@ package mage.sets.visions; import java.util.UUID; import mage.MageInt; import mage.abilities.common.ZoneChangeAllTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; @@ -56,7 +56,7 @@ public class FemerefEnchantress extends CardImpl { // Whenever an enchantment is put into a graveyard from the battlefield, draw a card. this.addAbility(new ZoneChangeAllTriggeredAbility(Zone.BATTLEFIELD, Zone.BATTLEFIELD, Zone.GRAVEYARD, - new DrawCardControllerEffect(1), new FilterEnchantmentPermanent(), + new DrawCardSourceControllerEffect(1), new FilterEnchantmentPermanent(), "Whenever an enchantment is put into a graveyard from the battlefield, ", false)); } diff --git a/Mage.Sets/src/mage/sets/worldwake/Explore.java b/Mage.Sets/src/mage/sets/worldwake/Explore.java index e64dc743474..abeaa2769a2 100644 --- a/Mage.Sets/src/mage/sets/worldwake/Explore.java +++ b/Mage.Sets/src/mage/sets/worldwake/Explore.java @@ -33,7 +33,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.PlayAdditionalLandsControllerEffect; import mage.cards.CardImpl; @@ -49,7 +49,7 @@ public class Explore extends CardImpl { this.color.setGreen(true); this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Explore(final Explore card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/MysteriesOfTheDeep.java b/Mage.Sets/src/mage/sets/worldwake/MysteriesOfTheDeep.java index 171a411fce6..eef0d0628c3 100644 --- a/Mage.Sets/src/mage/sets/worldwake/MysteriesOfTheDeep.java +++ b/Mage.Sets/src/mage/sets/worldwake/MysteriesOfTheDeep.java @@ -32,7 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.condition.common.LandfallCondition; import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.watchers.common.LandfallWatcher; @@ -51,7 +51,7 @@ public class MysteriesOfTheDeep extends CardImpl { // Draw two cards. // Landfall - If you had a land enter the battlefield under your control this turn, draw three cards instead. this.addWatcher(new LandfallWatcher()); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DrawCardControllerEffect(3), new DrawCardControllerEffect(2), LandfallCondition.getInstance(), "Draw 2 cards. Landfall - If you had a land enter the battlefield under your control this turn, draw three cards instead")); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(3), new DrawCardSourceControllerEffect(2), LandfallCondition.getInstance(), "Draw 2 cards. Landfall - If you had a land enter the battlefield under your control this turn, draw three cards instead")); } public MysteriesOfTheDeep(final MysteriesOfTheDeep card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/SeersSundial.java b/Mage.Sets/src/mage/sets/worldwake/SeersSundial.java index 827b5853981..959a5b4f2fe 100644 --- a/Mage.Sets/src/mage/sets/worldwake/SeersSundial.java +++ b/Mage.Sets/src/mage/sets/worldwake/SeersSundial.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.abilities.common.LandfallAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; /** @@ -47,7 +47,7 @@ public class SeersSundial extends CardImpl { this.expansionSetCode = "WWK"; // Landfall - Whenever a land enters the battlefield under your control, you may pay {2}. If you do, draw a card. - this.addAbility(new LandfallAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new ManaCostsImpl("{2}")), false)); // optional = false because DoIfCost is already optonal + this.addAbility(new LandfallAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}")), false)); // optional = false because DoIfCost is already optonal } public SeersSundial(final SeersSundial card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/ShorelineSalvager.java b/Mage.Sets/src/mage/sets/worldwake/ShorelineSalvager.java index 1f58de33e27..8a964ce4598 100644 --- a/Mage.Sets/src/mage/sets/worldwake/ShorelineSalvager.java +++ b/Mage.Sets/src/mage/sets/worldwake/ShorelineSalvager.java @@ -35,7 +35,7 @@ import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.condition.common.ControlsPermanentCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -65,7 +65,7 @@ public class ShorelineSalvager extends CardImpl { this.toughness = new MageInt(3); // Whenever Shoreline Salvager deals combat damage to a player, if you control an Island, you may draw a card. - this.addAbility(new ConditionalTriggeredAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), true), new ControlsPermanentCondition(filter), rule, true)); + this.addAbility(new ConditionalTriggeredAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true), new ControlsPermanentCondition(filter), rule, true)); } public ShorelineSalvager(final ShorelineSalvager card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/SpellContortion.java b/Mage.Sets/src/mage/sets/worldwake/SpellContortion.java index f2948adf3ca..fccc6f0f2f3 100644 --- a/Mage.Sets/src/mage/sets/worldwake/SpellContortion.java +++ b/Mage.Sets/src/mage/sets/worldwake/SpellContortion.java @@ -35,7 +35,7 @@ import mage.constants.Rarity; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.dynamicvalue.common.MultikickerCount; import mage.abilities.effects.common.CounterUnlessPaysEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.target.TargetSpell; @@ -57,7 +57,7 @@ public class SpellContortion extends CardImpl { // Counter target spell unless its controller pays {2}. Draw a card for each time Spell Contortion was kicked. this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(2))); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(new MultikickerCount())); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new MultikickerCount())); this.getSpellAbility().addTarget(new TargetSpell()); } diff --git a/Mage.Sets/src/mage/sets/worldwake/Twitch.java b/Mage.Sets/src/mage/sets/worldwake/Twitch.java index 880bf7479a1..198cc60d8fc 100644 --- a/Mage.Sets/src/mage/sets/worldwake/Twitch.java +++ b/Mage.Sets/src/mage/sets/worldwake/Twitch.java @@ -30,7 +30,7 @@ package mage.sets.worldwake; import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.filter.FilterPermanent; @@ -63,7 +63,7 @@ public class Twitch extends CardImpl { // Draw a card. this.getSpellAbility().addEffect(new MayTapOrUntapTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent(filter)); - this.getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); } public Twitch(final Twitch card) { diff --git a/Mage.Sets/src/mage/sets/zendikar/CarnageAltar.java b/Mage.Sets/src/mage/sets/zendikar/CarnageAltar.java index 702cd1809c8..f5345553f99 100644 --- a/Mage.Sets/src/mage/sets/zendikar/CarnageAltar.java +++ b/Mage.Sets/src/mage/sets/zendikar/CarnageAltar.java @@ -34,7 +34,7 @@ import mage.constants.Zone; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,7 +48,7 @@ public class CarnageAltar extends CardImpl { super(ownerId, 198, "Carnage Altar", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{2}"); this.expansionSetCode = "ZEN"; - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(3)); + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(3)); ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent())); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/zendikar/IntoTheRoil.java b/Mage.Sets/src/mage/sets/zendikar/IntoTheRoil.java index 4bb72327085..a15ff31db0b 100644 --- a/Mage.Sets/src/mage/sets/zendikar/IntoTheRoil.java +++ b/Mage.Sets/src/mage/sets/zendikar/IntoTheRoil.java @@ -33,7 +33,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.condition.common.KickedCondition; import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; @@ -56,7 +56,7 @@ public class IntoTheRoil extends CardImpl { // Return target nonland permanent to its owner's hand. If Into the Roil was kicked, draw a card. this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( - new DrawCardControllerEffect(1), + new DrawCardSourceControllerEffect(1), KickedCondition.getInstance(), "If {this} was kicked, draw a card")); this.getSpellAbility().addTarget(new TargetNonlandPermanent()); diff --git a/Mage.Sets/src/mage/sets/zendikar/IorRuinExpedition.java b/Mage.Sets/src/mage/sets/zendikar/IorRuinExpedition.java index 0aac571e7f1..b7c99eed0e9 100644 --- a/Mage.Sets/src/mage/sets/zendikar/IorRuinExpedition.java +++ b/Mage.Sets/src/mage/sets/zendikar/IorRuinExpedition.java @@ -34,7 +34,7 @@ import mage.abilities.common.LandfallAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.constants.Zone; @@ -55,7 +55,7 @@ public class IorRuinExpedition extends CardImpl { this.color.setBlue(true); this.addAbility(new LandfallAbility(new AddCountersSourceEffect(CounterType.QUEST.createInstance()), true)); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(3), new RemoveCountersSourceCost(CounterType.QUEST.createInstance(3))); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(3), new RemoveCountersSourceCost(CounterType.QUEST.createInstance(3))); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/zendikar/SeaGateLoremaster.java b/Mage.Sets/src/mage/sets/zendikar/SeaGateLoremaster.java index 23e83c20703..82a48c5bc83 100644 --- a/Mage.Sets/src/mage/sets/zendikar/SeaGateLoremaster.java +++ b/Mage.Sets/src/mage/sets/zendikar/SeaGateLoremaster.java @@ -35,7 +35,7 @@ import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -64,7 +64,7 @@ public class SeaGateLoremaster extends CardImpl { this.toughness = new MageInt(3); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, - new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter)), + new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), new TapSourceCost())); } diff --git a/Mage.Sets/src/mage/sets/zendikar/SphinxOfLostTruths.java b/Mage.Sets/src/mage/sets/zendikar/SphinxOfLostTruths.java index af4f2a02cef..6ce8bfb9aef 100644 --- a/Mage.Sets/src/mage/sets/zendikar/SphinxOfLostTruths.java +++ b/Mage.Sets/src/mage/sets/zendikar/SphinxOfLostTruths.java @@ -37,7 +37,7 @@ import mage.abilities.condition.common.KickedCondition; import mage.abilities.condition.InvertCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; @@ -64,7 +64,7 @@ public class SphinxOfLostTruths extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Sphinx of Lost Truths enters the battlefield, draw three cards. Then if it wasn't kicked, discard three cards. - Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(3)); + Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3)); ability.addEffect(new ConditionalOneShotEffect(new DiscardControllerEffect(3), new InvertCondition(KickedCondition.getInstance()), "Then if it wasn't kicked, discard three cards")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java b/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java index ef3612b8fe1..3546e132f96 100644 --- a/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java +++ b/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java @@ -37,7 +37,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.continious.BecomesBasicLandEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; @@ -61,7 +61,7 @@ public class SpreadingSeas extends CardImpl { this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); // Enchanted land is an Island. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesBasicLandEnchantedEffect("Island"))); diff --git a/Mage/src/mage/abilities/MageSingleton.java b/Mage/src/mage/abilities/MageSingleton.java index 670a6b3c584..6961a44cc95 100644 --- a/Mage/src/mage/abilities/MageSingleton.java +++ b/Mage/src/mage/abilities/MageSingleton.java @@ -3,7 +3,7 @@ package mage.abilities; /** * Marker class for singleton abilities and effects. * Prevents effects and abilities to get new Id across the games on the server. - * Can be used only for stateless effects and abilities. + * Can be used only for stateless effects and abilities. (e.g. no Duration) * * Intended to be used to avoid bugs and for performance reasons. * diff --git a/Mage/src/mage/abilities/effects/common/ScryEffect.java b/Mage/src/mage/abilities/effects/common/ScryEffect.java index 7c47aba0f81..d4b1da613a5 100644 --- a/Mage/src/mage/abilities/effects/common/ScryEffect.java +++ b/Mage/src/mage/abilities/effects/common/ScryEffect.java @@ -70,30 +70,29 @@ public class ScryEffect extends OneShotEffect { if (player != null) { boolean revealed = player.isTopCardRevealed(); // by looking at the cards with scry you have not to reveal the next card player.setTopCardRevealed(false); - Cards cards = new CardsImpl(Zone.PICK); + Cards cards = new CardsImpl(); int count = Math.min(scryNumber, player.getLibrary().size()); if (count == 0) { - return false; + return true; } for (int i = 0; i < count; i++) { Card card = player.getLibrary().removeFromTop(game); cards.add(card); - game.setZone(card.getId(), Zone.PICK); } - TargetCard target1 = new TargetCard(Zone.PICK, filter1); + TargetCard target1 = new TargetCard(Zone.LIBRARY, filter1); // move cards to the bottom of the library while (cards.size() > 0 && player.choose(Outcome.Detriment, cards, target1, game)) { Card card = cards.get(target1.getFirstTarget(), game); if (card != null) { cards.remove(card); - card.moveToZone(Zone.LIBRARY, source.getId(), game, false); + card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, false); } target1.clearChosen(); } // move cards to the top of the library int onBottom = scryNumber - cards.size(); if (cards.size() > 1) { - TargetCard target2 = new TargetCard(Zone.PICK, filter2); + TargetCard target2 = new TargetCard(Zone.LIBRARY, filter2); target2.setRequired(true); while (cards.size() > 1) { player.choose(Outcome.Benefit, cards, target2, game);