From 10db122b9d986ef50d018a8ceb50ec7af87cc945 Mon Sep 17 00:00:00 2001 From: Plopman Date: Mon, 19 Aug 2013 22:08:37 +0200 Subject: [PATCH] Change 23 cards to use ReturnToHandChosenControlledPermanentEffect.A lot of this cards weren't right --- .../avacynrestored/EmancipationAngel.java | 15 ++---- Mage.Sets/src/mage/sets/conflux/Esperzoa.java | 28 ++++------- .../mage/sets/dissension/AzoriusChancery.java | 17 ++----- .../mage/sets/dissension/RakdosCarnarium.java | 7 +-- .../sets/dissension/SimicGrowthChamber.java | 17 ++----- .../mage/sets/dragonsmaze/SpeciesGorger.java | 46 ++----------------- .../src/mage/sets/eventide/CacheRaiders.java | 21 ++++----- .../sets/eventide/NoggleBridgebreaker.java | 14 ++---- .../mage/sets/gatecrash/KeymasterRogue.java | 15 ++---- .../mage/sets/guildpact/IzzetBoilerworks.java | 17 ++----- .../mage/sets/guildpact/OrzhovBasilica.java | 17 ++----- .../mage/sets/magic2013/RoaringPrimadox.java | 37 ++------------- .../mage/sets/planechase/BorosGarrison.java | 17 ++----- .../src/mage/sets/planechase/GruulTurf.java | 19 +++----- .../src/mage/sets/ravnika/DimirAqueduct.java | 17 ++----- .../src/mage/sets/ravnika/GolgariRotFarm.java | 17 ++----- .../mage/sets/ravnika/SelesnyaSanctuary.java | 17 ++----- .../saviorsofkamigawa/EiganjoFreeRiders.java | 13 ++---- .../saviorsofkamigawa/OniOfWildPlaces.java | 13 ++---- .../saviorsofkamigawa/SkullCollector.java | 13 ++---- .../saviorsofkamigawa/StampedingSerow.java | 18 ++------ .../saviorsofkamigawa/TrustedAdvisor.java | 26 ++++------- .../src/mage/sets/zendikar/KorSkyfisher.java | 17 +++---- 23 files changed, 122 insertions(+), 316 deletions(-) diff --git a/Mage.Sets/src/mage/sets/avacynrestored/EmancipationAngel.java b/Mage.Sets/src/mage/sets/avacynrestored/EmancipationAngel.java index e5fe355431b..eda9ed43125 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/EmancipationAngel.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/EmancipationAngel.java @@ -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 { 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) { diff --git a/Mage.Sets/src/mage/sets/conflux/Esperzoa.java b/Mage.Sets/src/mage/sets/conflux/Esperzoa.java index b9ae5db8240..32448c6d748 100644 --- a/Mage.Sets/src/mage/sets/conflux/Esperzoa.java +++ b/Mage.Sets/src/mage/sets/conflux/Esperzoa.java @@ -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 { - 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 { 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) { diff --git a/Mage.Sets/src/mage/sets/dissension/AzoriusChancery.java b/Mage.Sets/src/mage/sets/dissension/AzoriusChancery.java index 04b79529e4e..20d313603e5 100644 --- a/Mage.Sets/src/mage/sets/dissension/AzoriusChancery.java +++ b/Mage.Sets/src/mage/sets/dissension/AzoriusChancery.java @@ -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 { // 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())); } diff --git a/Mage.Sets/src/mage/sets/dissension/RakdosCarnarium.java b/Mage.Sets/src/mage/sets/dissension/RakdosCarnarium.java index 4ba1d10f36c..bc170adc2ec 100644 --- a/Mage.Sets/src/mage/sets/dissension/RakdosCarnarium.java +++ b/Mage.Sets/src/mage/sets/dissension/RakdosCarnarium.java @@ -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 { // 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())); } diff --git a/Mage.Sets/src/mage/sets/dissension/SimicGrowthChamber.java b/Mage.Sets/src/mage/sets/dissension/SimicGrowthChamber.java index ab550863d0a..125b3843565 100644 --- a/Mage.Sets/src/mage/sets/dissension/SimicGrowthChamber.java +++ b/Mage.Sets/src/mage/sets/dissension/SimicGrowthChamber.java @@ -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 { // 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())); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/SpeciesGorger.java b/Mage.Sets/src/mage/sets/dragonsmaze/SpeciesGorger.java index 40b92b5685a..b22c45beae2 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/SpeciesGorger.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/SpeciesGorger.java @@ -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 { 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 { } } -class ReturnToHandChooseEffect extends OneShotEffect { - - 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; - } -} diff --git a/Mage.Sets/src/mage/sets/eventide/CacheRaiders.java b/Mage.Sets/src/mage/sets/eventide/CacheRaiders.java index 441942af4f0..88113191ccb 100644 --- a/Mage.Sets/src/mage/sets/eventide/CacheRaiders.java +++ b/Mage.Sets/src/mage/sets/eventide/CacheRaiders.java @@ -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 { 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) { diff --git a/Mage.Sets/src/mage/sets/eventide/NoggleBridgebreaker.java b/Mage.Sets/src/mage/sets/eventide/NoggleBridgebreaker.java index 3a3649704f0..84b15be5758 100644 --- a/Mage.Sets/src/mage/sets/eventide/NoggleBridgebreaker.java +++ b/Mage.Sets/src/mage/sets/eventide/NoggleBridgebreaker.java @@ -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 { 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) { diff --git a/Mage.Sets/src/mage/sets/gatecrash/KeymasterRogue.java b/Mage.Sets/src/mage/sets/gatecrash/KeymasterRogue.java index 73db2e762eb..a6d8b152c9a 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/KeymasterRogue.java +++ b/Mage.Sets/src/mage/sets/gatecrash/KeymasterRogue.java @@ -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 { // 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) { diff --git a/Mage.Sets/src/mage/sets/guildpact/IzzetBoilerworks.java b/Mage.Sets/src/mage/sets/guildpact/IzzetBoilerworks.java index 20c8cf8657d..fb2880f466b 100644 --- a/Mage.Sets/src/mage/sets/guildpact/IzzetBoilerworks.java +++ b/Mage.Sets/src/mage/sets/guildpact/IzzetBoilerworks.java @@ -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 { 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())); } diff --git a/Mage.Sets/src/mage/sets/guildpact/OrzhovBasilica.java b/Mage.Sets/src/mage/sets/guildpact/OrzhovBasilica.java index 858af10b147..4242f3467f3 100644 --- a/Mage.Sets/src/mage/sets/guildpact/OrzhovBasilica.java +++ b/Mage.Sets/src/mage/sets/guildpact/OrzhovBasilica.java @@ -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 { 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())); diff --git a/Mage.Sets/src/mage/sets/magic2013/RoaringPrimadox.java b/Mage.Sets/src/mage/sets/magic2013/RoaringPrimadox.java index 721451a585a..7c9d94a2aed 100644 --- a/Mage.Sets/src/mage/sets/magic2013/RoaringPrimadox.java +++ b/Mage.Sets/src/mage/sets/magic2013/RoaringPrimadox.java @@ -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 { 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 { return new RoaringPrimadox(this); } } - -class RoaringPrimadoxEffect extends OneShotEffect { - - 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; - } -} diff --git a/Mage.Sets/src/mage/sets/planechase/BorosGarrison.java b/Mage.Sets/src/mage/sets/planechase/BorosGarrison.java index c34d6551e0f..252d8272d30 100644 --- a/Mage.Sets/src/mage/sets/planechase/BorosGarrison.java +++ b/Mage.Sets/src/mage/sets/planechase/BorosGarrison.java @@ -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 { 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())); diff --git a/Mage.Sets/src/mage/sets/planechase/GruulTurf.java b/Mage.Sets/src/mage/sets/planechase/GruulTurf.java index 2f8a2a01cbc..8c3ed0ce9fc 100644 --- a/Mage.Sets/src/mage/sets/planechase/GruulTurf.java +++ b/Mage.Sets/src/mage/sets/planechase/GruulTurf.java @@ -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 { 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())); } diff --git a/Mage.Sets/src/mage/sets/ravnika/DimirAqueduct.java b/Mage.Sets/src/mage/sets/ravnika/DimirAqueduct.java index 934a79c480b..763cc0a9012 100644 --- a/Mage.Sets/src/mage/sets/ravnika/DimirAqueduct.java +++ b/Mage.Sets/src/mage/sets/ravnika/DimirAqueduct.java @@ -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 { // 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())); } diff --git a/Mage.Sets/src/mage/sets/ravnika/GolgariRotFarm.java b/Mage.Sets/src/mage/sets/ravnika/GolgariRotFarm.java index 5eecadafa95..eb0c5319c19 100644 --- a/Mage.Sets/src/mage/sets/ravnika/GolgariRotFarm.java +++ b/Mage.Sets/src/mage/sets/ravnika/GolgariRotFarm.java @@ -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 { // 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())); } diff --git a/Mage.Sets/src/mage/sets/ravnika/SelesnyaSanctuary.java b/Mage.Sets/src/mage/sets/ravnika/SelesnyaSanctuary.java index 06ef5ba5961..dc18635dd39 100644 --- a/Mage.Sets/src/mage/sets/ravnika/SelesnyaSanctuary.java +++ b/Mage.Sets/src/mage/sets/ravnika/SelesnyaSanctuary.java @@ -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 { // 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())); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/EiganjoFreeRiders.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/EiganjoFreeRiders.java index 8ae9fb547b5..e9212953984 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/EiganjoFreeRiders.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/EiganjoFreeRiders.java @@ -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 { 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) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/OniOfWildPlaces.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/OniOfWildPlaces.java index 0306e5edd9c..a5dcdd919f3 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/OniOfWildPlaces.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/OniOfWildPlaces.java @@ -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 { 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) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/SkullCollector.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/SkullCollector.java index d3b559c37d6..3c62fedb5b8 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/SkullCollector.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/SkullCollector.java @@ -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 { 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}"))); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/StampedingSerow.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/StampedingSerow.java index 49110a58e47..a6ce8ec76ec 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/StampedingSerow.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/StampedingSerow.java @@ -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 { 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) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/TrustedAdvisor.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/TrustedAdvisor.java index d89ffd0751d..1eca2758d96 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/TrustedAdvisor.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/TrustedAdvisor.java @@ -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 { - 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 { 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)); } diff --git a/Mage.Sets/src/mage/sets/zendikar/KorSkyfisher.java b/Mage.Sets/src/mage/sets/zendikar/KorSkyfisher.java index 3dc3f788d3f..4c7ec684522 100644 --- a/Mage.Sets/src/mage/sets/zendikar/KorSkyfisher.java +++ b/Mage.Sets/src/mage/sets/zendikar/KorSkyfisher.java @@ -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 { 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) {