Change 23 cards to use ReturnToHandChosenControlledPermanentEffect.A lot of this cards weren't right

This commit is contained in:
Plopman 2013-08-19 22:08:37 +02:00
parent 9ba97d794b
commit 10db122b9d
23 changed files with 122 additions and 316 deletions

View file

@ -28,15 +28,14 @@
package mage.sets.avacynrestored;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.target.common.TargetControlledPermanent;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.filter.common.FilterControlledPermanent;
/**
*
@ -55,11 +54,7 @@ public class EmancipationAngel extends CardImpl<EmancipationAngel> {
this.addAbility(FlyingAbility.getInstance());
// When Emancipation Angel enters the battlefield, return a permanent you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
TargetControlledPermanent target = new TargetControlledPermanent();
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledPermanent()), false));
}
public EmancipationAngel(final EmancipationAngel card) {

View file

@ -29,31 +29,23 @@
package mage.sets.conflux;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
import mage.filter.common.FilterControlledArtifactPermanent;
/**
*
* @author Loki
*/
public class Esperzoa extends CardImpl<Esperzoa> {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact");
static {
filter.add(new CardTypePredicate(CardType.ARTIFACT));
}
public Esperzoa (UUID ownerId) {
super(ownerId, 25, "Esperzoa", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{U}");
this.expansionSetCode = "CON";
@ -61,12 +53,12 @@ public class Esperzoa extends CardImpl<Esperzoa> {
this.color.setBlue(true);
this.power = new MageInt(4);
this.toughness = new MageInt(3);
//Flying
this.addAbility(FlyingAbility.getInstance());
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
TargetControlledPermanent t = new TargetControlledPermanent(filter);
t.setRequired(true);
ability.addTarget(t);
this.addAbility(ability);
//At the beginning of your upkeep, return an artifact you control to its owner's hand.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledArtifactPermanent()), TargetController.YOU, false));
}
public Esperzoa (final Esperzoa card) {

View file

@ -28,21 +28,18 @@
package mage.sets.dissension;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -59,11 +56,7 @@ public class AzoriusChancery extends CardImpl<AzoriusChancery> {
// Azorius Chancery enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
// When Azorius Chancery enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {tap}: Add {W}{U} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0), new TapSourceCost()));
}

View file

@ -36,6 +36,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
@ -58,11 +59,7 @@ public class RakdosCarnarium extends CardImpl<RakdosCarnarium> {
// Rakdos Carnarium enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
// When Rakdos Carnarium enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {tap}: Add {B}{R} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0), new TapSourceCost()));
}

View file

@ -28,21 +28,18 @@
package mage.sets.dissension;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -59,11 +56,7 @@ public class SimicGrowthChamber extends CardImpl<SimicGrowthChamber> {
// Simic Growth Chamber enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
// When Simic Growth Chamber enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {tap}: Add {G}{U} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 1, 0, 0, 0, 0), new TapSourceCost()));
}

View file

@ -28,17 +28,12 @@
package mage.sets.dragonsmaze;
import java.util.UUID;
import mage.constants.*;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.constants.*;
import mage.filter.common.FilterControlledCreaturePermanent;
/**
*
@ -58,7 +53,7 @@ public class SpeciesGorger extends CardImpl<SpeciesGorger> {
this.toughness = new MageInt(6);
// At the beginning of your upkeep, return a creature you control to its owner's hand.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnToHandChooseEffect(), TargetController.YOU, false));
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnToHandChosenControlledPermanentEffect(new FilterControlledCreaturePermanent()), TargetController.YOU, false));
}
@ -72,36 +67,3 @@ public class SpeciesGorger extends CardImpl<SpeciesGorger> {
}
}
class ReturnToHandChooseEffect extends OneShotEffect<ReturnToHandChooseEffect> {
public ReturnToHandChooseEffect() {
super(Outcome.ReturnToHand);
this.staticText = "return a creature you control to its owner's hand";
}
public ReturnToHandChooseEffect(final ReturnToHandChooseEffect effect) {
super(effect);
}
@Override
public ReturnToHandChooseEffect copy() {
return new ReturnToHandChooseEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
if (player != null) {
TargetControlledCreaturePermanent target = new TargetControlledCreaturePermanent();
target.setRequired(true);
if (player.choose(this.outcome, target, source.getSourceId(), game)) {
Permanent permanent = game.getPermanent(target.getFirstTarget());
if (permanent != null) {
return permanent.moveToZone(Zone.HAND, source.getId(), game, false);
}
}
return true;
}
return false;
}
}

View file

@ -28,17 +28,14 @@
package mage.sets.eventide;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.constants.TargetController;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
import mage.filter.common.FilterControlledPermanent;
/**
*
@ -54,11 +51,9 @@ public class CacheRaiders extends CardImpl<CacheRaiders> {
this.color.setBlue(true);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
Target target = new TargetControlledPermanent();
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
//At the beginning of your upkeep, return a permanent you control to its owner's hand.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledPermanent()), TargetController.YOU, false));
}
public CacheRaiders(final CacheRaiders card) {

View file

@ -28,16 +28,14 @@
package mage.sets.eventide;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.common.TargetControlledPermanent;
/**
* @author Loki
@ -57,9 +55,7 @@ public class NoggleBridgebreaker extends CardImpl<NoggleBridgebreaker> {
this.toughness = new MageInt(3);
// When Noggle Bridgebreaker enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
ability.addTarget(new TargetControlledPermanent(filter));
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
}
public NoggleBridgebreaker(final NoggleBridgebreaker card) {

View file

@ -28,17 +28,14 @@
package mage.sets.gatecrash;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.UnblockableAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -59,11 +56,7 @@ public class KeymasterRogue extends CardImpl<KeymasterRogue> {
// Keymaster Rogue is unblockable.
this.addAbility(new UnblockableAbility());
// When Keymaster Rogue enters the battlefield, return a creature you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(1, 1, new FilterControlledCreaturePermanent(), false);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledCreaturePermanent())));
}
public KeymasterRogue(final KeymasterRogue card) {

View file

@ -28,21 +28,18 @@
package mage.sets.guildpact;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
* @author Loki
@ -59,11 +56,7 @@ public class IzzetBoilerworks extends CardImpl<IzzetBoilerworks> {
this.addAbility(new EntersBattlefieldTappedAbility());
// When Izzet Boilerworks enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {T}: Add {U}{R} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 1, 0, 0, 0, 0), new TapSourceCost()));
}

View file

@ -28,21 +28,18 @@
package mage.sets.guildpact;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -60,11 +57,7 @@ public class OrzhovBasilica extends CardImpl<OrzhovBasilica> {
this.addAbility(new EntersBattlefieldTappedAbility());
// When Orzhov Basilica enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {T}: Add {W}{B} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0), new TapSourceCost()));

View file

@ -36,7 +36,9 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.game.Game;
import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
@ -59,7 +61,7 @@ public class RoaringPrimadox extends CardImpl<RoaringPrimadox> {
this.toughness = new MageInt(4);
// At the beginning of your upkeep, return a creature you control to its owner's hand.
this.addAbility(new OnEventTriggeredAbility(EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new RoaringPrimadoxEffect()));
this.addAbility(new OnEventTriggeredAbility(EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new ReturnToHandChosenControlledPermanentEffect(new FilterControlledCreaturePermanent())));
}
public RoaringPrimadox(final RoaringPrimadox card) {
@ -71,36 +73,3 @@ public class RoaringPrimadox extends CardImpl<RoaringPrimadox> {
return new RoaringPrimadox(this);
}
}
class RoaringPrimadoxEffect extends OneShotEffect<RoaringPrimadoxEffect> {
public RoaringPrimadoxEffect() {
super(Outcome.ReturnToHand);
this.staticText = "return a creature you control to its owner's hand";
}
public RoaringPrimadoxEffect(final RoaringPrimadoxEffect effect) {
super(effect);
}
@Override
public RoaringPrimadoxEffect copy() {
return new RoaringPrimadoxEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
if (player != null) {
TargetControlledCreaturePermanent target = new TargetControlledCreaturePermanent();
if (player.choose(this.outcome, target, source.getSourceId(), game)) {
Permanent permanent = game.getPermanent(target.getFirstTarget());
if (permanent != null) {
return permanent.moveToZone(Zone.HAND, source.getId(), game, false);
}
}
return true;
}
return false;
}
}

View file

@ -28,21 +28,18 @@
package mage.sets.planechase;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
@ -61,11 +58,7 @@ public class BorosGarrison extends CardImpl<BorosGarrison> {
this.addAbility(new EntersBattlefieldTappedAbility());
// When Boros Garrison enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {T}: Add {R}{W} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 1, 0, 0, 0), new TapSourceCost()));

View file

@ -28,22 +28,18 @@
package mage.sets.planechase;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
* @author Loki
@ -55,12 +51,11 @@ public class GruulTurf extends CardImpl<GruulTurf> {
public GruulTurf(UUID ownerId) {
super(ownerId, 134, "Gruul Turf", Rarity.COMMON, new CardType[]{CardType.LAND}, "");
this.expansionSetCode = "HOP";
this.addAbility(new EntersBattlefieldTappedAbility());
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0), new TapSourceCost()));
}

View file

@ -28,21 +28,18 @@
package mage.sets.ravnika;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
* @author Loki
@ -58,11 +55,7 @@ public class DimirAqueduct extends CardImpl<DimirAqueduct> {
// Dimir Aqueduct enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
// When Dimir Aqueduct enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter)));
// {tap}: Add {U}{B} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 0, 1, 0, 0), new TapSourceCost()));
}

View file

@ -27,21 +27,18 @@
*/
package mage.sets.ravnika;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -58,11 +55,7 @@ public class GolgariRotFarm extends CardImpl<GolgariRotFarm> {
// Golgari Rot Farm enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
// When Golgari Rot Farm enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter)));
// {tap}: Add {B}{G} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 0, 1, 0, 0), new TapSourceCost()));
}

View file

@ -28,21 +28,18 @@
package mage.sets.ravnika;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -60,11 +57,7 @@ public class SelesnyaSanctuary extends CardImpl<SelesnyaSanctuary> {
// Selesnya Sanctuary enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
// When Selesnya Sanctuary enters the battlefield, return a land you control to its owner's hand.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
Target target = new TargetControlledPermanent(filter);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// {tap}: Add {G}{W} to your mana pool.
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 1, 0, 0, 0), new TapSourceCost()));
}

View file

@ -28,20 +28,17 @@
package mage.sets.saviorsofkamigawa;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
* @author Loki
@ -64,9 +61,7 @@ public class EiganjoFreeRiders extends CardImpl<EiganjoFreeRiders> {
this.toughness = new MageInt(4);
this.addAbility(FlyingAbility.getInstance());
// At the beginning of your upkeep, return a white creature you control to its owner's hand.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
ability.addTarget(new TargetControlledCreaturePermanent(1, 1, filter, true));
this.addAbility(ability);
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false));
}
public EiganjoFreeRiders(final EiganjoFreeRiders card) {

View file

@ -28,20 +28,17 @@
package mage.sets.saviorsofkamigawa;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
*
@ -65,9 +62,7 @@ public class OniOfWildPlaces extends CardImpl<OniOfWildPlaces> {
this.toughness = new MageInt(5);
this.addAbility(HasteAbility.getInstance());
// At the beginning of your upkeep, return a red creature you control to its owner's hand.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
ability.addTarget(new TargetControlledCreaturePermanent(1, 1, filter, true));
this.addAbility(ability);
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false));
}
public OniOfWildPlaces(final OniOfWildPlaces card) {

View file

@ -28,23 +28,20 @@
package mage.sets.saviorsofkamigawa;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.RegenerateSourceEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
/**
*
@ -67,9 +64,7 @@ public class SkullCollector extends CardImpl<SkullCollector> {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// At the beginning of your upkeep, return a black creature you control to its owner's hand.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
ability.addTarget(new TargetControlledCreaturePermanent(1, 1, filter, true));
this.addAbility(ability);
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false));
// {1}{B}: Regenerate Skull Collector.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
}

View file

@ -27,22 +27,18 @@
*/
package mage.sets.saviorsofkamigawa;
import mage.constants.CardType;
import mage.constants.Rarity;
import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.Target;
import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID;
/**
* @author noxx
@ -65,11 +61,7 @@ public class StampedingSerow extends CardImpl<StampedingSerow> {
this.toughness = new MageInt(4);
this.addAbility(TrampleAbility.getInstance());
// At the beginning of your upkeep, return a green creature you control to its owner's hand.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
Target target = new TargetControlledCreaturePermanent(1, 1, filter, false);
target.setRequired(true);
ability.addTarget(target);
this.addAbility(ability);
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false));
}
public StampedingSerow(final StampedingSerow card) {

View file

@ -28,23 +28,21 @@
package mage.sets.saviorsofkamigawa;
import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect;
import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect.HandSizeModification;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect;
import mage.abilities.effects.common.continious.MaximumHandSizeControllerEffect.HandSizeModification;
import mage.cards.CardImpl;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetControlledPermanent;
/**
*
@ -52,7 +50,7 @@ import mage.target.common.TargetControlledPermanent;
*/
public class TrustedAdvisor extends CardImpl<TrustedAdvisor> {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("blue creature");
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("blue creature you control");
static {
filter.add(new ColorPredicate(ObjectColor.BLUE));
@ -72,11 +70,7 @@ public class TrustedAdvisor extends CardImpl<TrustedAdvisor> {
new MaximumHandSizeControllerEffect(2, Duration.WhileOnBattlefield, HandSizeModification.INCREASE)));
// At the beginning of your upkeep, return a blue creature you control to its owner's hand.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false);
TargetControlledPermanent t = new TargetControlledPermanent(filter);
t.setRequired(true);
ability.addTarget(t);
this.addAbility(ability);
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false));
}

View file

@ -32,13 +32,11 @@ import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
import mage.filter.common.FilterControlledPermanent;
/**
*
@ -54,13 +52,12 @@ public class KorSkyfisher extends CardImpl<KorSkyfisher> {
this.color.setWhite(true);
this.power = new MageInt(2);
this.toughness = new MageInt(3);
//Flying
this.addAbility(FlyingAbility.getInstance());
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
Target target = new TargetControlledPermanent();
target.setRequired(true);
target.setNotTarget(true);
ability.addTarget(target);
this.addAbility(ability);
//When Kor Skyfisher enters the battlefield, return a permanent you control to its owner's hand.
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledPermanent()), false));
}
public KorSkyfisher (final KorSkyfisher card) {