Renamed DrawCardController to DrawCardSourceController.

This commit is contained in:
LevelX2 2014-04-01 13:39:42 +02:00
parent de2a8b66b6
commit 6bc5cf538b
108 changed files with 222 additions and 222 deletions

View file

@ -33,7 +33,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamageMultiEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.cards.SplitCard;
import mage.target.TargetPermanent;
@ -68,7 +68,7 @@ public class FireIce extends SplitCard<FireIce> {
getRightHalfCard().getColor().setBlue(true);
getRightHalfCard().getSpellAbility().addEffect(new TapTargetEffect());
getRightHalfCard().getSpellAbility().addTarget(new TargetPermanent(true));
getRightHalfCard().getSpellAbility().addEffect(new DrawCardControllerEffect(1));
getRightHalfCard().getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}

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.abilities.keyword.DefenderAbility;
import mage.cards.CardImpl;
@ -52,7 +52,7 @@ public class JungleBarrier extends CardImpl<JungleBarrier> {
this.power = new MageInt(2);
this.toughness = new MageInt(6);
this.addAbility(DefenderAbility.getInstance());
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
}
public JungleBarrier(final JungleBarrier card) {

View file

@ -30,7 +30,7 @@ package mage.sets.apocalypse;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.cards.CardImpl;
@ -49,7 +49,7 @@ public class LastCaress extends CardImpl<LastCaress> {
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(1));
this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addEffect(new GainLifeEffect(1));
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public LastCaress(final LastCaress card) {

View file

@ -33,7 +33,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.TargetController;
@ -48,7 +48,7 @@ public class PhyrexianArena extends CardImpl<PhyrexianArena> {
super(ownerId, 47, "Phyrexian Arena", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}");
this.expansionSetCode = "APC";
this.color.setBlack(true);
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(1), TargetController.YOU, false);
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false);
ability.addEffect(new LoseLifeSourceControllerEffect(1));
this.addAbility(ability);
}

View file

@ -34,7 +34,7 @@ import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.cards.CardImpl;
@ -51,7 +51,7 @@ public class PhyrexianGargantua extends CardImpl<PhyrexianGargantua> {
this.color.setBlack(true);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(2), false);
Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2), false);
ability.addEffect(new LoseLifeSourceControllerEffect(2));
this.addAbility(ability);
}

View file

@ -34,7 +34,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.GainAbilityAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
@ -71,7 +71,7 @@ public class QuicksilverDagger extends CardImpl<QuicksilverDagger> {
// Enchanted creature has "{tap}: This creature deals 1 damage to target player. You draw a card."
Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
gainAbility.addTarget(new TargetPlayer());
gainAbility.addEffect(new DrawCardControllerEffect(1));
gainAbility.addEffect(new DrawCardSourceControllerEffect(1));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainAbility, AttachmentType.AURA)));
}

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.effects.common.continious.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.constants.Duration;
@ -60,7 +60,7 @@ public class SavageGorilla extends CardImpl<SavageGorilla> {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ManaCostsImpl("{U}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardControllerEffect(1));
ability.addEffect(new DrawCardSourceControllerEffect(1));
ability.addTarget(new TargetCreaturePermanent());
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.DestroyTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
@ -55,7 +55,7 @@ public class Smash extends CardImpl<Smash> {
this.color.setRed(true);
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter));
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Smash(final Smash 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.filter.FilterPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
@ -54,7 +54,7 @@ public class TranquilPath extends CardImpl<TranquilPath> {
// Destroy all enchantments.
this.getSpellAbility().addEffect(new TranquilPathEffect());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public TranquilPath(final TranquilPath card) {

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.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.EvokeAbility;
import mage.cards.CardImpl;
@ -55,7 +55,7 @@ public class Mulldrifter extends CardImpl<Mulldrifter> {
// Flying
this.addAbility(FlyingAbility.getInstance());
// When Mulldrifter enters the battlefield, draw two cards.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(2)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2)));
// Evoke {2}{U}
this.addAbility(new EvokeAbility(this, "{2}{U}"));
}

View file

@ -35,7 +35,7 @@ import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -63,7 +63,7 @@ public class ArcaneDenial extends CardImpl<ArcaneDenial> {
this.getSpellAbility().addEffect(new ArcaneDenialEffect());
this.getSpellAbility().addTarget(new TargetSpell());
// You draw a card at the beginning of the next turn's upkeep.
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardControllerEffect(1)),false));
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)),false));
}
public ArcaneDenial(final ArcaneDenial card) {

View file

@ -32,7 +32,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
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;
@ -55,7 +55,7 @@ public class BalefulForce extends CardImpl<BalefulForce> {
this.toughness = new MageInt(7);
// At the beginning of each upkeep, you draw a card and you lose 1 life.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(1), TargetController.ANY, false);
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.ANY, false);
Effect effect = new LoseLifeSourceControllerEffect(1);
effect.setText("and you lose 1 life");
ability.addEffect(effect);

View file

@ -30,7 +30,7 @@ package mage.sets.commander2013;
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;
@ -92,7 +92,7 @@ class Borrowing100000ArrowsEffect extends OneShotEffect<Borrowing100000ArrowsEff
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.add(new TappedPredicate());
filter.add(new ControllerIdPredicate(opponent.getId()));
return new DrawCardControllerEffect(game.getBattlefield().count(filter, source.getSourceId(), source.getSourceId(), game)).apply(game, source);
return new DrawCardSourceControllerEffect(game.getBattlefield().count(filter, source.getSourceId(), source.getSourceId(), game)).apply(game, source);
}
return false;
}

View file

@ -28,7 +28,7 @@
package mage.sets.commander2013;
import java.util.UUID;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
@ -46,7 +46,7 @@ public class BrilliantPlan extends CardImpl<BrilliantPlan> {
this.color.setBlue(true);
// Draw three cards.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(3));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3));
}
public BrilliantPlan(final BrilliantPlan card) {

View file

@ -32,7 +32,7 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
@ -51,7 +51,7 @@ public class Greed extends CardImpl<Greed> {
this.color.setBlack(true);
// {B}, Pay 2 life: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{B}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{B}"));
ability.addCost(new PayLifeCost(2));
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ package mage.sets.commander2013;
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.abilities.keyword.HorsemanshipAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -56,7 +56,7 @@ public class LuXunScholarGeneral extends CardImpl<LuXunScholarGeneral> {
// Horsemanship
this.addAbility(HorsemanshipAbility.getInstance());
// Whenever Lu Xun, Scholar General 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

@ -37,7 +37,7 @@ import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.effects.common.DoIfCostPaid;
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.CardType;
@ -103,7 +103,7 @@ class OloroAgelessAsceticEffect extends OneShotEffect<OloroAgelessAsceticEffect>
@Override
public boolean apply(Game game, Ability source) {
new DrawCardControllerEffect(1).apply(game, source);
new DrawCardSourceControllerEffect(1).apply(game, source);
new DamagePlayersEffect(1, TargetController.OPPONENT).apply(game, source);
return false;
}

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.mageobject.CardTypePredicate;
@ -59,7 +59,7 @@ public class BoneToAsh extends CardImpl<BoneToAsh> {
this.getSpellAbility().addTarget(new TargetSpell(filter));
this.getSpellAbility().addEffect(new CounterTargetEffect());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public BoneToAsh(final BoneToAsh card) {

View file

@ -30,7 +30,7 @@ package mage.sets.darkascension;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LifelinkAbility;
@ -77,7 +77,7 @@ public class DrogskolReaver extends CardImpl<DrogskolReaver> {
class DrogskolReaverAbility extends TriggeredAbilityImpl<DrogskolReaverAbility> {
public DrogskolReaverAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), false);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), false);
}
public DrogskolReaverAbility(final DrogskolReaverAbility ability) {

View file

@ -30,7 +30,7 @@ package mage.sets.darkascension;
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.PutOnLibraryTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreatureCard;
@ -52,7 +52,7 @@ public class Gravepurge extends CardImpl<Gravepurge> {
this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true));
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE, new FilterCreatureCard("creature cards from your graveyard")));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Gravepurge(final Gravepurge card) {

View file

@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl;
import mage.target.common.TargetControlledCreaturePermanent;
@ -54,7 +54,7 @@ public class GrimBackwoods extends CardImpl<GrimBackwoods> {
// {tap}: Add {1} to your mana pool.
this.addAbility(new ColorlessManaAbility());
// {2}{B}{G}, {tap}, Sacrifice a creature: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{2}{B}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{B}{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent()));
this.addAbility(ability);

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreatureCard;
@ -48,7 +48,7 @@ public class GrimFlowering extends CardImpl<GrimFlowering> {
this.color.setGreen(true);
// Draw a card for each creature card in your graveyard.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(new CardsInControllerGraveyardCount(new FilterCreatureCard())));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new CardsInControllerGraveyardCount(new FilterCreatureCard())));
}
public GrimFlowering(final GrimFlowering card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicate;
@ -58,7 +58,7 @@ public class SecretsOfTheDead extends CardImpl<SecretsOfTheDead> {
this.color.setBlue(true);
// Whenever you cast a spell from your graveyard, draw a card.
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, false));
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, false));
}
public SecretsOfTheDead(final SecretsOfTheDead card) {

View file

@ -37,7 +37,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@ -61,7 +61,7 @@ public class SilverpeltWerewolf extends CardImpl<SilverpeltWerewolf> {
this.nightCard = true;
// Whenever Silverpelt Werewolf 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));
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Silverpelt Werewolf.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);

View file

@ -30,7 +30,7 @@ package mage.sets.darkascension;
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;
@ -51,7 +51,7 @@ public class ThoughtScour extends CardImpl<ThoughtScour> {
this.getSpellAbility().addTarget(new TargetPlayer());
this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(2));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public ThoughtScour(final ThoughtScour card) {

View file

@ -34,7 +34,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalOneShotEffect;
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;
@ -70,7 +70,7 @@ public class DreamThief extends CardImpl<DreamThief> {
this.addAbility(FlyingAbility.getInstance());
// When Dream Thief enters the battlefield, draw a card if you've cast another blue spell this turn.
this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DrawCardControllerEffect(1), new CastBlueSpellThisTurnCondition(), rule)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), new CastBlueSpellThisTurnCondition(), rule)));
this.addWatcher(new DreamThiefWatcher(this.getId()));
}

View file

@ -32,7 +32,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CardsInHandCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
@ -52,7 +52,7 @@ public class IdleThoughts extends CardImpl<IdleThoughts> {
// {2}: Draw a card if you have no cards in hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalOneShotEffect(
new DrawCardControllerEffect(2), new CardsInHandCondition(), "Draw a card if you have no cards in hand"), new ManaCostsImpl("{2}")));
new DrawCardSourceControllerEffect(2), new CardsInHandCondition(), "Draw a card if you have no cards in hand"), new ManaCostsImpl("{2}")));
}
public IdleThoughts(final IdleThoughts card) {

View file

@ -28,7 +28,7 @@
package mage.sets.eventide;
import java.util.UUID;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.SwitchPowerToughnessTargetEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -55,7 +55,7 @@ public class InsideOut extends CardImpl<InsideOut> {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(true));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}

View file

@ -33,7 +33,7 @@ import mage.abilities.common.BeginningOfDrawTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.DynamicValue;
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.cards.CardImpl;
import mage.constants.CardType;
@ -65,7 +65,7 @@ public class OverbeingOfMyth extends CardImpl<OverbeingOfMyth> {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetPowerToughnessSourceEffect(number, Duration.WhileOnBattlefield)));
// At the beginning of your draw step, draw an additional card.
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardControllerEffect(1), TargetController.YOU, false));
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false));
}

View file

@ -34,7 +34,7 @@ import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
@ -61,7 +61,7 @@ public class RegalForce extends CardImpl<RegalForce> {
this.toughness = new MageInt(5);
// When Regal Force enters the battlefield, draw a card for each green creature you control.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter))));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter))));
}
public RegalForce(final RegalForce card) {

View file

@ -34,7 +34,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -68,7 +68,7 @@ public class Scarecrone extends CardImpl<Scarecrone> {
this.toughness = new MageInt(2);
// {1}, Sacrifice a Scarecrow: Draw a card.
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1));
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
firstAbility.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1,1, filterScarecrow, false, true)));
this.addAbility(firstAbility);

View file

@ -29,7 +29,7 @@ package mage.sets.eventide;
import java.util.UUID;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BecomesCreatureTargetEffect;
import mage.abilities.effects.common.continious.LoseAllAbilitiesTargetEffect;
import mage.cards.CardImpl;
@ -59,7 +59,7 @@ public class Snakeform extends CardImpl<Snakeform> {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(true));
// Draw a card.
Effect effect = new DrawCardControllerEffect(1);
Effect effect = new DrawCardSourceControllerEffect(1);
effect.setText("Draw a card.");
this.getSpellAbility().addEffect(effect);

View file

@ -33,7 +33,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
/**
@ -51,7 +51,7 @@ public class WistfulSelkie extends CardImpl<WistfulSelkie> {
this.color.setBlue(true);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
}
public WistfulSelkie (final WistfulSelkie card) {

View file

@ -30,7 +30,7 @@ package mage.sets.guildpact;
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.ExileTargetEffect;
import mage.cards.CardImpl;
import mage.target.common.TargetCardInGraveyard;
@ -47,7 +47,7 @@ public class Cremate extends CardImpl<Cremate> {
this.color.setBlack(true);
this.getSpellAbility().addEffect(new ExileTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInGraveyard());
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Cremate(final Cremate card) {

View file

@ -34,7 +34,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DiscardControllerEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
@ -60,7 +60,7 @@ public class DrownedRusalka extends CardImpl<DrownedRusalka> {
// {U}, Sacrifice a creature: Discard a card, then draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardControllerEffect(1), new ManaCostsImpl("{U}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1,1, new FilterControlledCreaturePermanent("a creature"), true, true)));
ability.addEffect(new DrawCardControllerEffect(1));
ability.addEffect(new DrawCardSourceControllerEffect(1));
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ package mage.sets.guildpact;
import java.util.UUID;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamageMultiEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
@ -55,7 +55,7 @@ public class Electrolyze extends CardImpl<Electrolyze> {
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(2));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Electrolyze(final Electrolyze card) {

View file

@ -32,7 +32,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
/**
@ -45,7 +45,7 @@ public class HatchingPlans extends CardImpl<HatchingPlans> {
super(ownerId, 27, "Hatching Plans", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
this.expansionSetCode = "GPT";
this.color.setBlue(true);
this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DrawCardControllerEffect(3)));
this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3)));
}
public HatchingPlans (final HatchingPlans card) {

View file

@ -33,7 +33,7 @@ import mage.constants.Rarity;
import mage.abilities.Mode;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.target.common.TargetCreatureOrPlayer;
@ -50,7 +50,7 @@ public class InvokeTheFiremind extends CardImpl<InvokeTheFiremind> {
this.color.setRed(true);
this.color.setBlue(true);
this.getSpellAbility().addEffect(new DrawCardControllerEffect(new ManacostVariableValue()));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new ManacostVariableValue()));
Mode mode = new Mode();
mode.getEffects().add(new DamageTargetEffect(new ManacostVariableValue()));
mode.getTargets().add(new TargetCreatureOrPlayer());

View file

@ -37,7 +37,7 @@ import mage.abilities.common.DrawCardControllerTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.Zone;
@ -63,7 +63,7 @@ public class NivMizzetTheFiremind extends CardImpl<NivMizzetTheFiremind> {
Ability ability = new DrawCardControllerTriggeredAbility(new DamageTargetEffect(1), false);
ability.addTarget(new TargetCreatureOrPlayer());
this.addAbility(ability);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost()));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()));
}
public NivMizzetTheFiremind(final NivMizzetTheFiremind card) {

View file

@ -38,7 +38,7 @@ import mage.constants.Rarity;
import mage.constants.WatcherScope;
import mage.abilities.Ability;
import mage.abilities.effects.AsThoughEffectImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.game.Game;
@ -64,7 +64,7 @@ public class Quicken extends CardImpl<Quicken> {
this.addWatcher(new QuickenWatcher());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Quicken(final Quicken card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.Ability;
import mage.abilities.SpellAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.filter.Filter;
@ -60,7 +60,7 @@ public class Repeal extends CardImpl<Repeal> {
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
@Override

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.CounterUnlessPaysEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.target.TargetSpell;
@ -48,7 +48,7 @@ public class Runeboggle extends CardImpl<Runeboggle> {
this.color.setBlue(true);
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(1)));
this.getSpellAbility().addTarget(new TargetSpell());
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Runeboggle(final Runeboggle card) {

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BoostTargetEffect;
import mage.abilities.effects.common.continious.GainAbilityTargetEffect;
import mage.abilities.keyword.TrampleAbility;
@ -52,7 +52,7 @@ public class Wildsize extends CardImpl<Wildsize> {
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2, Duration.EndOfTurn));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Wildsize(final Wildsize card) {

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.PreventDamageTargetEffect;
import mage.cards.CardImpl;
import mage.constants.Duration;
@ -49,7 +49,7 @@ public class Withstand extends CardImpl<Withstand> {
this.color.setWhite(true);
this.getSpellAbility().addEffect(new PreventDamageTargetEffect(Duration.EndOfTurn, 3));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
// Prevent the next 3 damage that would be dealt to target creature or player this turn.
// Draw a card.
}

View file

@ -30,7 +30,7 @@ package mage.sets.invasion;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
@ -60,7 +60,7 @@ public class Annihilate extends CardImpl<Annihilate> {
this.getSpellAbility().addEffect(new DestroyTargetEffect(true));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter, true));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Annihilate(final Annihilate card) {

View file

@ -36,7 +36,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.cards.CardImpl;
import mage.constants.Zone;
@ -57,7 +57,7 @@ public class BenalishHeralds extends CardImpl<BenalishHeralds> {
this.toughness = new MageInt(4);
// {3}{U}, {tap}: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{3}{U}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ package mage.sets.invasion;
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.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.target.common.TargetCreaturePermanent;
@ -51,7 +51,7 @@ public class Repulse extends CardImpl<Repulse> {
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Repulse(final Repulse card) {

View file

@ -35,7 +35,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BecomesBasicLandEnchantedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
@ -64,7 +64,7 @@ public class TaintedWell extends CardImpl<TaintedWell> {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// When Tainted Well enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Enchanted land is a Swamp.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesBasicLandEnchantedEffect("Swamp")));
}

View file

@ -34,7 +34,7 @@ import mage.abilities.PlayLandAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.mana.ManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -58,7 +58,7 @@ public class TsabosWeb extends CardImpl<TsabosWeb> {
this.expansionSetCode = "INV";
// When Tsabo's Web enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Each land with an activated ability that isn't a mana ability doesn't untap during its controller's untap step.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TsabosWebPreventUntapEffect()));

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.target.common.TargetCreatureOrPlayer;
@ -51,7 +51,7 @@ public class Zap extends CardImpl<Zap> {
this.getSpellAbility().addEffect(new DamageTargetEffect(1));
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Zap(final Zap card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.FilterSpell;
import mage.filter.predicate.mageobject.CardTypePredicate;
@ -59,7 +59,7 @@ public class MesaEnchantress extends CardImpl<MesaEnchantress> {
this.power = new MageInt(0);
this.toughness = new MageInt(2);
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, true));
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, true));
}
public MesaEnchantress(final MesaEnchantress card) {

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LookLibraryControllerEffect;
import mage.cards.CardImpl;
@ -49,7 +49,7 @@ public class Ponder extends CardImpl<Ponder> {
// Look at the top three cards of your library, then put them back in any order. You may shuffle your library.
this.getSpellAbility().addEffect(new LookLibraryControllerEffect(3, true));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Ponder(final Ponder card) {

View file

@ -35,7 +35,7 @@ import mage.abilities.Ability;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
@ -51,7 +51,7 @@ public class ChromaticSphere extends CardImpl<ChromaticSphere> {
Ability ability = new AnyColorManaAbility(new GenericManaCost(1));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardControllerEffect(1));
ability.addEffect(new DrawCardSourceControllerEffect(1));
this.addAbility(ability);
}

View file

@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BecomesCreatureTargetEffect;
import mage.cards.CardImpl;
import mage.game.permanent.token.Token;
@ -55,7 +55,7 @@ public class LifesparkSpellbomb extends CardImpl<LifesparkSpellbomb> {
firstAbility.addCost(new SacrificeSourceCost());
firstAbility.addTarget(new TargetLandPermanent());
this.addAbility(firstAbility);
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1));
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
secondAbility.addCost(new SacrificeSourceCost());
this.addAbility(secondAbility);
}

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.abilities.common.DrawCardOpponentTriggeredAbility;
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.constants.CardType;
import mage.constants.Rarity;
@ -47,7 +47,7 @@ public class MindsEye extends CardImpl<MindsEye> {
this.expansionSetCode = "MRD";
// Whenever an opponent draws a card, you may pay {1}. If you do, draw a card.
this.addAbility(new DrawCardOpponentTriggeredAbility(new DoIfCostPaid(new DrawCardControllerEffect(1), new GenericManaCost(1)), false, false));
this.addAbility(new DrawCardOpponentTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(1)), false, false));
}
public MindsEye(final MindsEye card) {

View file

@ -37,7 +37,7 @@ import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DiscardTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.ColoredManaSymbol;
import mage.constants.Zone;
@ -56,7 +56,7 @@ public class NecrogenSpellbomb extends CardImpl<NecrogenSpellbomb> {
firstAbility.addCost(new SacrificeSourceCost());
firstAbility.addTarget(new TargetPlayer());
this.addAbility(firstAbility);
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1));
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
secondAbility.addCost(new SacrificeSourceCost());
this.addAbility(secondAbility);
}

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.BlocksTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.DefenderAbility;
import mage.cards.CardImpl;
@ -52,7 +52,7 @@ public class PsychicMembrane extends CardImpl<PsychicMembrane> {
this.addAbility(DefenderAbility.getInstance());
// Whenever Psychic Membrane blocks, you may draw a card.
this.addAbility(new BlocksTriggeredAbility(new DrawCardControllerEffect(1), true));
this.addAbility(new BlocksTriggeredAbility(new DrawCardSourceControllerEffect(1), true));
}
public PsychicMembrane(final PsychicMembrane card) {

View file

@ -37,7 +37,7 @@ import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.ColoredManaCost;
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.cards.CardImpl;
import mage.constants.ColoredManaSymbol;
import mage.constants.Zone;
@ -56,7 +56,7 @@ public class PyriteSpellbomb extends CardImpl<PyriteSpellbomb> {
firstAbility.addCost(new SacrificeSourceCost());
firstAbility.addTarget(new TargetCreatureOrPlayer());
this.addAbility(firstAbility);
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1));
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
secondAbility.addCost(new SacrificeSourceCost());
this.addAbility(secondAbility);
}

View file

@ -33,7 +33,7 @@ import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.BecomesBlockedTriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
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;
@ -51,7 +51,7 @@ public class SlithStrider extends CardImpl<SlithStrider> {
this.color.setBlue(true);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new BecomesBlockedTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new BecomesBlockedTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false));
}

View file

@ -36,7 +36,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.costs.mana.GenericManaCost;
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.ColoredManaSymbol;
@ -54,7 +54,7 @@ public class SunbeamSpellbomb extends CardImpl<SunbeamSpellbomb> {
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(5), new ColoredManaCost(ColoredManaSymbol.W));
firstAbility.addCost(new SacrificeSourceCost());
this.addAbility(firstAbility);
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(1));
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
secondAbility.addCost(new SacrificeSourceCost());
this.addAbility(secondAbility);
}

View file

@ -36,7 +36,7 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.Zone;
@ -49,7 +49,7 @@ public class TowerOfFortunes extends CardImpl<TowerOfFortunes> {
public TowerOfFortunes (UUID ownerId) {
super(ownerId, 267, "Tower of Fortunes", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{4}");
this.expansionSetCode = "MRD";
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(4), new GenericManaCost(8));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(4), new GenericManaCost(8));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

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.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.Zone;
@ -71,7 +71,7 @@ public class ConsecratedSphinx extends CardImpl<ConsecratedSphinx> {
class ConsecratedSphinxTriggeredAbility extends TriggeredAbilityImpl<ConsecratedSphinxTriggeredAbility> {
ConsecratedSphinxTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(2), true);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), true);
}
ConsecratedSphinxTriggeredAbility(final ConsecratedSphinxTriggeredAbility ability) {

View file

@ -29,7 +29,7 @@ package mage.sets.mirrodinbesieged;
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.PutOnLibraryTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterArtifactCard;
@ -50,7 +50,7 @@ public class FranticSalvage extends CardImpl<FranticSalvage> {
this.color.setWhite(true);
this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true));
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE, new FilterArtifactCard("artifact cards from your graveyard")));
}

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import java.util.UUID;
@ -45,8 +45,8 @@ public class IchorWellspring extends CardImpl<IchorWellspring> {
public IchorWellspring(UUID ownerId) {
super(ownerId, 110, "Ichor Wellspring", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{2}");
this.expansionSetCode = "MBS";
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1)));
}
public IchorWellspring(final IchorWellspring card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.ShroudAbility;
import mage.cards.CardImpl;
@ -53,7 +53,7 @@ public class NeurokCommando extends CardImpl<NeurokCommando> {
this.toughness = new MageInt(1);
this.addAbility(ShroudAbility.getInstance());
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1), true));
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true));
}
public NeurokCommando(final NeurokCommando card) {

View file

@ -33,7 +33,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
/**
@ -49,7 +49,7 @@ public class Oculus extends CardImpl<Oculus> {
this.color.setBlue(true);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new DiesTriggeredAbility(new DrawCardControllerEffect(1), true));
this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), true));
}
public Oculus (final Oculus card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.DiesAndDealtDamageThisTurnTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.InfectAbility;
import mage.cards.CardImpl;
@ -53,7 +53,7 @@ public class RotWolf extends CardImpl<RotWolf> {
this.addAbility(InfectAbility.getInstance());
// Whenever a creature dealt damage by Rot Wolf this turn dies, you may draw a card.
this.addAbility(new DiesAndDealtDamageThisTurnTriggeredAbility(new DrawCardControllerEffect(1), true));
this.addAbility(new DiesAndDealtDamageThisTurnTriggeredAbility(new DrawCardSourceControllerEffect(1), true));
}
public RotWolf(final RotWolf card) {

View file

@ -32,7 +32,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;
@ -46,7 +46,7 @@ public class Vivisection extends CardImpl<Vivisection> {
super(ownerId, 38, "Vivisection", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{U}");
this.expansionSetCode = "MBS";
this.color.setBlue(true);
this.getSpellAbility().addEffect(new DrawCardControllerEffect(3));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3));
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent()));
}

View file

@ -32,7 +32,7 @@ import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ProwlCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ProwlAbility;
import mage.cards.CardImpl;
@ -60,7 +60,7 @@ public class LatchkeyFaerie extends CardImpl<LatchkeyFaerie> {
// Prowl {2}{U}
this.addAbility(new ProwlAbility(this, "{2}{U}"));
// When Latchkey Faerie enters the battlefield, if its prowl cost was paid, draw a card.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false);
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false);
this.addAbility(new ConditionalTriggeredAbility(ability, ProwlCondition.getInstance(),
"When {this} enters the battlefield, if its prowl cost was paid, draw a card."));

View file

@ -34,7 +34,7 @@ import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -65,7 +65,7 @@ public class MaskedAdmirers extends CardImpl<MaskedAdmirers> {
this.toughness = new MageInt(2);
// When Masked Admirers enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Whenever you cast a creature spell, you may pay {G}{G}. If you do, return Masked Admirers from your graveyard to your hand.
OneShotEffect effect = new ReturnToHandSourceEffect();
effect.setText("return {this} from your graveyard to your hand");

View file

@ -33,7 +33,7 @@ import mage.constants.Duration;
import mage.constants.Rarity;
import mage.abilities.condition.common.ControlsPermanentCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreaturePermanent;
@ -63,7 +63,7 @@ public class Peppersmoke extends CardImpl<Peppersmoke> {
this.getSpellAbility().addEffect(new BoostTargetEffect(-1,-1,Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(true));
this.getSpellAbility().addEffect(
new ConditionalOneShotEffect(new DrawCardControllerEffect(1),
new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1),
new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 0),
"If you control a Faerie, draw a card"));
}

View file

@ -42,7 +42,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.GenericManaCost;
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.BoostSourceEffect;
import mage.abilities.effects.common.continious.GainAbilityAttachedEffect;
import mage.abilities.effects.common.continious.GainAbilitySourceEffect;
@ -78,7 +78,7 @@ public class DivinersWand extends CardImpl<DivinersWand> {
effect.setText("Equipped creature has \"Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn\"");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
effect = new GainAbilityAttachedEffect(
new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new GenericManaCost(4)), AttachmentType.EQUIPMENT);
new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(4)), AttachmentType.EQUIPMENT);
effect.setText("and \"{4}: Draw a card.\"");
ability.addEffect(effect);
this.addAbility(ability);

View file

@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
@ -76,7 +76,7 @@ public class GiltLeafArchdruid extends CardImpl<GiltLeafArchdruid> {
this.toughness = new MageInt(3);
// Whenever you cast a Druid spell, you may draw a card.
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filterSpell, true));
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filterSpell, true));
// Tap seven untapped Druids you control: Gain control of all lands target player controls.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlAllLandsEffect(Duration.EndOfGame), new TapTargetCost(new TargetControlledCreaturePermanent(7, 7, new FilterControlledCreaturePermanent("Druid", "Druids you control"), true)));
ability.addTarget(new TargetPlayer());

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.AddCardTypeTargetEffect;
import mage.cards.CardImpl;
import mage.target.TargetPermanent;
@ -50,7 +50,7 @@ public class ArgentMutation extends CardImpl<ArgentMutation> {
this.getSpellAbility().addEffect(new AddCardTypeTargetEffect(CardType.ARTIFACT, Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetPermanent());
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public ArgentMutation(final ArgentMutation card) {

View file

@ -34,7 +34,7 @@ import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.abilities.Ability;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
@ -55,7 +55,7 @@ public class DueRespect extends CardImpl<DueRespect> {
// Permanents enter the battlefield tapped this turn.
this.getSpellAbility().addEffect(new DueRespectEffect());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public DueRespect(final DueRespect card) {

View file

@ -34,7 +34,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.players.Player;
@ -55,7 +55,7 @@ public class GitaxianProbe extends CardImpl<GitaxianProbe> {
this.getSpellAbility().addEffect(new GitaxianProbeEffect());
this.getSpellAbility().addTarget(new TargetPlayer());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}

View file

@ -32,7 +32,7 @@ import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@ -56,7 +56,7 @@ public class ImpalerShrike extends CardImpl<ImpalerShrike> {
this.addAbility(FlyingAbility.getInstance());
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new SacrificeSourceEffect(), true);
ability.addEffect(new DrawCardControllerEffect(3));
ability.addEffect(new DrawCardSourceControllerEffect(3));
this.addAbility(ability);
}

View file

@ -33,7 +33,7 @@ import mage.constants.*;
import mage.MageInt;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect;
import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect.HandSizeModification;
import mage.abilities.keyword.FlashAbility;
@ -59,7 +59,7 @@ public class JinGitaxiasCoreAugur extends CardImpl<JinGitaxiasCoreAugur> {
this.addAbility(FlashAbility.getInstance());
// At the beginning of your end step, draw seven cards.
this.addAbility(new BeginningOfYourEndStepTriggeredAbility(new DrawCardControllerEffect(7), false));
this.addAbility(new BeginningOfYourEndStepTriggeredAbility(new DrawCardSourceControllerEffect(7), false));
// Each opponent's maximum hand size is reduced by seven.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,

View file

@ -31,7 +31,7 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DiscardTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.target.common.TargetOpponent;
@ -47,7 +47,7 @@ public class Mindculling extends CardImpl<Mindculling> {
this.color.setBlue(true);
this.getSpellAbility().addEffect(new DrawCardControllerEffect(2));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2));
this.getSpellAbility().addTarget(new TargetOpponent());
this.getSpellAbility().addEffect(new DiscardTargetEffect(2));
}

View file

@ -40,7 +40,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.MetalcraftCondition;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.decorator.ConditionalContinousEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
import mage.abilities.keyword.EquipAbility;
import mage.cards.CardImpl;
@ -68,7 +68,7 @@ public class PuresteelPaladin extends CardImpl<PuresteelPaladin> {
this.toughness = new MageInt(2);
// Whenever an Equipment 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));
// Metalcraft - Equipment you control have equip {0} as long as you control three or more artifacts
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(
new GainAbilityControlledEffect(new EquipAbility(Outcome.AddAbility, new GenericManaCost(0)), Duration.WhileOnBattlefield, filter),

View file

@ -30,7 +30,7 @@ package mage.sets.newphyrexia;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
@ -45,7 +45,7 @@ public class TezzeretsGambit extends CardImpl<TezzeretsGambit> {
this.expansionSetCode = "NPH";
this.color.setBlue(true);
this.getSpellAbility().addEffect(new DrawCardControllerEffect(2));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2));
this.getSpellAbility().addEffect(new ProliferateEffect());
}

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.ObjectColor;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
@ -59,7 +59,7 @@ public class Execute extends CardImpl<Execute> {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addEffect(new DestroyTargetEffect(true));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Execute(final Execute card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.ObjectColor;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
@ -59,7 +59,7 @@ public class Slay extends CardImpl<Slay> {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addEffect(new DestroyTargetEffect(true));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
}
public Slay(final Slay card) {

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.effects.common.DealsDamageToOpponentTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@ -55,7 +55,7 @@ public class ThievingMagpie extends CardImpl<ThievingMagpie> {
this.addAbility(FlyingAbility.getInstance());
// Whenever Thieving Magpie deals damage to an opponent, draw a card.
this.addAbility(new DealsDamageToOpponentTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new DealsDamageToOpponentTriggeredAbility(new DrawCardSourceControllerEffect(1)));
}
public ThievingMagpie(final ThievingMagpie card) {

View file

@ -33,7 +33,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.Zone;
@ -50,7 +50,7 @@ public class TreasureTrove extends CardImpl<TreasureTrove> {
this.color.setBlue(true);
// {2}{U}{U}: Draw a card.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new ManaCostsImpl("{2}{U}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{U}{U}")));
}
public TreasureTrove(final TreasureTrove card) {

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.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.GainAbilitySourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@ -57,7 +57,7 @@ public class SarcomiteMyr extends CardImpl<SarcomiteMyr> {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(2)));
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 SacrificeSourceCost());
this.addAbility(ability);
}

View file

@ -35,7 +35,7 @@ import mage.abilities.Ability;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.DiscardTargetCost;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.Outcome;
import mage.filter.FilterCard;
@ -57,7 +57,7 @@ public class ThirstForKnowledge extends CardImpl<ThirstForKnowledge> {
this.color.setBlue(true);
// Draw three cards. Then discard two cards unless you discard an artifact card.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(3));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3));
this.getSpellAbility().addEffect(new ThirstforKnowledgeEffect());
}

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.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@ -57,7 +57,7 @@ public class BalefulStrix extends CardImpl<BalefulStrix> {
// vigilance
this.addAbility(DeathtouchAbility.getInstance());
// When Baleful Strix enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
}

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.players.Player;
@ -51,7 +51,7 @@ public class InfernalContract extends CardImpl<InfernalContract> {
this.color.setBlack(true);
// Draw four cards. You lose half your life, rounded up.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(4));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(4));
this.getSpellAbility().addEffect(new InfernalContractLoseLifeEffect());
}

View file

@ -32,7 +32,7 @@ import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.filter.FilterSpell;
import mage.filter.predicate.mageobject.CardTypePredicate;
@ -60,7 +60,7 @@ public class VerduranEnchantress extends CardImpl<VerduranEnchantress> {
this.toughness = new MageInt(2);
// Whenever you cast an enchantment spell, you may draw a card.
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardControllerEffect(1), filter, true));
this.addAbility(new SpellCastControllerTriggeredAbility(new DrawCardSourceControllerEffect(1), filter, true));
}
public VerduranEnchantress(final VerduranEnchantress card) {

View file

@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.RequirementEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
@ -80,7 +80,7 @@ public class BidentOfThassa extends CardImpl<BidentOfThassa> {
class BidentOfThassaTriggeredAbility extends TriggeredAbilityImpl<BidentOfThassaTriggeredAbility> {
public BidentOfThassaTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true);
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
}
public BidentOfThassaTriggeredAbility(final BidentOfThassaTriggeredAbility ability) {

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.BoostEnchantedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
@ -65,7 +65,7 @@ public class ChosenByHeliod extends CardImpl<ChosenByHeliod> {
this.addAbility(ability);
// When Chosen by Heliod enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Enchanted creature gets +0/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0,2, Duration.WhileOnBattlefield)));

View file

@ -34,7 +34,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
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.BoostSourceEffect;
import mage.abilities.effects.common.continious.GainAbilityAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
@ -68,7 +68,7 @@ public class DragonMantle extends CardImpl<DragonMantle> {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// When Dragon Mantle enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
// Enchanted creature has "{R}: This creature gets +1/+0 until end of turn."
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.AURA, Duration.WhileOnBattlefield, "Enchanted creature has \"{R}: This creature gets +1/+0 until end of turn.\"")));

View file

@ -32,7 +32,7 @@ import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -61,9 +61,9 @@ public class FateForetold extends CardImpl<FateForetold> {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// When Fate Foretold enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1),false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1),false));
// When enchanted creature dies, its controller draws a card.
this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardControllerEffect(1),"enchanted creature", false));
this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(1),"enchanted creature", false));
}
public FateForetold(final FateForetold card) {

View file

@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffectImpl;
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.abilities.mana.BasicManaAbility;
import mage.abilities.mana.BlackManaAbility;
@ -77,7 +77,7 @@ public class NyleasPresence extends CardImpl<NyleasPresence> {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// When Nylea's Presence enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
// Enchanted land is every basic land type in addition to its other types.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NyleasPresenceLandTypeEffect("Swamp", "Mountain", "Forest", "Island", "Plains")));

View file

@ -34,7 +34,7 @@ import mage.abilities.common.SacrificeSourceTriggeredAbility;
import mage.abilities.condition.common.AttachedToCounterCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
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.counter.AddCountersAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
@ -72,7 +72,7 @@ public class OrdealOfThassa extends CardImpl<OrdealOfThassa> {
"Then if it has three or more +1/+1 counters on it, sacrifice {this}"));
this.addAbility(ability);
// When you sacrifice Ordeal of Thassa, draw two cards.
this.addAbility(new SacrificeSourceTriggeredAbility(new DrawCardControllerEffect(2), false));
this.addAbility(new SacrificeSourceTriggeredAbility(new DrawCardSourceControllerEffect(2), false));
}

View file

@ -29,7 +29,7 @@ package mage.sets.theros;
import java.util.UUID;
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.abilities.effects.common.ScryEffect;
import mage.cards.CardImpl;
@ -50,7 +50,7 @@ public class ReadTheBones extends CardImpl<ReadTheBones> {
// Scry 2, then draw two cards. You lose 2 life.
this.getSpellAbility().addEffect(new ScryEffect(2));
Effect effect = new DrawCardControllerEffect(2);
Effect effect = new DrawCardSourceControllerEffect(2);
effect.setText("then draw two cards");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2));

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.BoostEnchantedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
@ -64,7 +64,7 @@ public class Scourgemark extends CardImpl<Scourgemark> {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// When Scourgemark enters the battlefield, draw a card.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Enchanted creature gets +1/+0.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1,0, Duration.WhileOnBattlefield)));
}

View file

@ -28,7 +28,7 @@
package mage.sets.theros;
import java.util.UUID;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
@ -48,7 +48,7 @@ public class ThassasBounty extends CardImpl<ThassasBounty> {
this.color.setBlue(true);
// Draw three cards. Target player puts the top three cards of his or her library into his or her graveyard.
this.getSpellAbility().addEffect(new DrawCardControllerEffect(3));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3));
this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(3));
this.getSpellAbility().addTarget(new TargetPlayer(true));
}

View file

@ -32,7 +32,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BoostEnchantedEffect;
import mage.abilities.keyword.BestowAbility;
import mage.cards.CardImpl;
@ -63,7 +63,7 @@ public class ThassasEmissary extends CardImpl<ThassasEmissary> {
// Bestow {5}{U} (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)
this.addAbility(new BestowAbility(this, "{5}{U}"));
// Whenever Thassa's Emissary or enchanted creature deals combat damage to a player, draw a card.
this.addAbility(new ThassasEmissaryTriggeredAbility(new DrawCardControllerEffect(1), false));
this.addAbility(new ThassasEmissaryTriggeredAbility(new DrawCardSourceControllerEffect(1), false));
// Enchanted creature gets +3/+3.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3,3)));
}

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