Renamed DrawCardController to DrawCardSourceController. Missing Renames.

This commit is contained in:
LevelX2 2014-04-03 15:07:06 +02:00
parent a8a04cb460
commit e5d0de7328
263 changed files with 533 additions and 533 deletions

View file

@ -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<Brainbite> {
// 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());
}

View file

@ -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<SkipYourDrawStepEffec
class DragonAppeasementTriggeredAbility extends TriggeredAbilityImpl<DragonAppeasementTriggeredAbility> {
public DragonAppeasementTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
}
public DragonAppeasementTriggeredAbility(final DragonAppeasementTriggeredAbility ability) {

View file

@ -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<MaskOfRiddles> {
// 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)));
}

View file

@ -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<MessengerFalcons> {
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) {

View file

@ -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<VedalkenHeretic> {
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));
}

View file

@ -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<SageOfLatNam> {
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);
}

View file

@ -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<AbundantGrowth> {
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());

View file

@ -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<AlchemistsApprentice> {
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()));
}

View file

@ -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<CripplingChill> {
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) {

View file

@ -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<DangerousWager> {
// 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) {

View file

@ -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<Griselbrand> {
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) {

View file

@ -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<GryffVanguard> {
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) {

View file

@ -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<HarvesterOfSouls> {
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) {

View file

@ -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<LunarMystic> {
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) {

View file

@ -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<MadProphet> {
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);
}

View file

@ -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<MassAppeal> {
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) {

View file

@ -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<ScrollOfAvacyn> {
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);

View file

@ -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<SoulOfTheHarvest> {
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) {

View file

@ -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<TamiyoTheMoonSage> {
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);

View file

@ -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<TandemLookout> {
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)));
}

View file

@ -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<TriumphOfFerocity> {
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));
}

View file

@ -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<NinjaOfTheDeepHours> {
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) {

View file

@ -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<PatronOfTheMoonEffect> {
@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

View file

@ -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<RibbonsOfTheReikai> {
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) {

View file

@ -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<EpharaGodOfThePolis> {
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());

View file

@ -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<EpiphanyStorm> {
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)));

View file

@ -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<GrislyTransformation> {
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)));
}

View file

@ -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<KarametrasFavor> {
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);

View file

@ -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<KioraTheCrashingWave> {
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);

View file

@ -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<OraclesInsight> {
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)));

View file

@ -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<Sanguimancy> {
// 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);

View file

@ -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<SphinxsDisciple> {
// Flying
this.addAbility(FlyingAbility.getInstance());
// <i>Inspired</i> - 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) {

View file

@ -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<StratusWalk> {
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.

View file

@ -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<AzamiLadyOfScrolls> {
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) {

View file

@ -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<CounselOfTheSoratami> {
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) {

View file

@ -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<FloatingDreamZubera> {
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());
}

View file

@ -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<GlimpseOfN
}
public GlimpseOfNatureTriggeredAbility() {
super(new DrawCardControllerEffect(1), Duration.EndOfTurn, false);
super(new DrawCardSourceControllerEffect(1), Duration.EndOfTurn, false);
}
public GlimpseOfNatureTriggeredAbility(GlimpseOfNatureTriggeredAbility ability) {

View file

@ -34,7 +34,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
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.cards.CardImpl;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
@ -59,7 +59,7 @@ public class HondenOfSeeingWinds extends CardImpl<HondenOfSeeingWinds> {
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) {

View file

@ -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<JushiApprentice> {
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}"));

View file

@ -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<MyojinOfSeeingWinds> {
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);
}

View file

@ -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<ReachThroughMists> {
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) {

View file

@ -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<SenseisDiviningTop> {
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);
}

View file

@ -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<SeshiroTheAnointed> {
class SeshiroTheAnointedAbility extends TriggeredAbilityImpl<SeshiroTheAnointedAbility> {
public SeshiroTheAnointedAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
}
public SeshiroTheAnointedAbility(final SeshiroTheAnointedAbility ability) {

View file

@ -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<SiftThroughSands> {
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);

View file

@ -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<SireOfTheStorm> {
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) {

View file

@ -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<Squelch> {
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) {

View file

@ -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<PerilousResearch> {
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());
}

View file

@ -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<Kaleidostone> {
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());

View file

@ -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<RhoxMeditant> {
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));
}

View file

@ -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<ScepterOfInsight> {
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);
}

View file

@ -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<ArcaneSpyglass> {
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) {

View file

@ -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<Skullclamp> {
// 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)));
}

View file

@ -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<SwordOfFireAndIceAbi
public SwordOfFireAndIceAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(2));
this.addEffect(new DrawCardControllerEffect(1));
this.addEffect(new DrawCardSourceControllerEffect(1));
this.addTarget(new TargetCreatureOrPlayer());
}

View file

@ -29,7 +29,7 @@ package mage.sets.dissension;
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.DoubleStrikeAbility;
import mage.cards.CardImpl;
@ -63,7 +63,7 @@ public class PsychoticFury extends CardImpl<PsychoticFury> {
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) {

View file

@ -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<AzoriusCluestone> {
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);

View file

@ -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<BeckTriggeredAbility>
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;
}

View file

@ -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<BorosCluestone> {
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);

View file

@ -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<BredForTheHunt> {
class BredForTheHuntTriggeredAbility extends TriggeredAbilityImpl<BredForTheHuntTriggeredAbility> {
public BredForTheHuntTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1));
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1));
this.optional = true;
}

View file

@ -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<DimirCluestone> {
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);

View file

@ -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<GolgariCluestone> {
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);

View file

@ -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<GruulCluestone> {
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);

View file

@ -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<IzzetCluestone> {
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);

View file

@ -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<OpalLakeGatekeepers> {
// 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."));
}

View file

@ -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<OrzhovCluestone> {
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);

View file

@ -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<PilferedPlans> {
// 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());
}

View file

@ -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<RakdosCluestone> {
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);

View file

@ -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<SelesnyaCluestone> {
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);

View file

@ -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<SimicCluestone> {
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);

View file

@ -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<AmbitionsCost> {
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));
}

View file

@ -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<AEtherSpellbomb> {
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);

View file

@ -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<DreamFracture> {
this.getSpellAbility().addTarget(new TargetSpell());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}

View file

@ -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<ConjurersBauble> {
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);
}

View file

@ -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<NightsWhisper> {
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));
}

View file

@ -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<SerumVisions> {
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));
}

View file

@ -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<StaffOfDomination> {
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);
}

View file

@ -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<HorizonCanopy> {
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);

View file

@ -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<EnterTheInfinite> {
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.

View file

@ -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<FathomMage> {
class FathomMageTriggeredAbility extends TriggeredAbilityImpl<FathomMageTriggeredAbility> {
public FathomMageTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
}
public FathomMageTriggeredAbility(FathomMageTriggeredAbility ability) {

View file

@ -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<LastThoughts> {
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());
}

View file

@ -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<PrimeSpeakerZegana> {
//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) {

View file

@ -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<ScatterArc> {
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) {

View file

@ -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<SoulRansom> {
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);

View file

@ -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<TinStreetMarket> {
// 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)));

View file

@ -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<UrbanEvolution> {
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));

View file

@ -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<ZameckGuildmage> {
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);
}

View file

@ -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<AltarsReap> {
// 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) {

View file

@ -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<Curiosity> {
class CuriosityAbility extends TriggeredAbilityImpl<CuriosityAbility> {
public CuriosityAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
}
public CuriosityAbility(final CuriosityAbility ability) {

View file

@ -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<MentorOfTheMeek> {
//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));
}

View file

@ -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> {
// 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) {

View file

@ -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<ThinkTwice> {
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));

View file

@ -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<Opt> {
// 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) {

View file

@ -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<KeepWatch> {
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) {

View file

@ -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<UnquestionedAuthority> {
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)));
}

View file

@ -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<MerchantOfSecrets> {
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) {

View file

@ -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<SynapseSliver> {
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"))));
}

View file

@ -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<CrypticCommand> {
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);
}

View file

@ -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<Fallowsage> {
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) {

View file

@ -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<LaceWithMoonglove> {
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) {

View file

@ -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<SilvergillAdept> {
// 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) {

View file

@ -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<Foresee> {
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) {

Some files were not shown because too many files have changed in this diff Show more