From acb2c472074afb50f7f8551126a3b91b0a049a87 Mon Sep 17 00:00:00 2001 From: LoneFox Date: Mon, 14 Dec 2015 12:51:23 +0200 Subject: [PATCH] Clean up various Control Magic effects --- .../mage/sets/avacynrestored/SpiritAway.java | 16 +++++--- .../sets/dragonsoftarkir/IllusoryGains.java | 10 ++--- Mage.Sets/src/mage/sets/iceage/Conquer.java | 6 +-- .../mage/sets/limitedalpha/ControlMagic.java | 2 +- .../src/mage/sets/magic2010/MindControl.java | 22 +++++----- .../sets/masterseditionii/BindingGrasp.java | 2 +- .../src/mage/sets/mirrodin/Domineer.java | 2 +- .../mirrodinbesieged/CorruptedConscience.java | 2 +- .../sets/modernmasters/TakePossession.java | 5 +-- .../src/mage/sets/newphyrexia/Enslave.java | 2 +- Mage.Sets/src/mage/sets/onslaught/Annex.java | 2 +- .../sets/scarsofmirrodin/VolitionReins.java | 17 ++++---- .../sets/seventhedition/StealArtifact.java | 13 +++--- .../mage/sets/shadowmoor/BitingTether.java | 40 ++----------------- .../mage/sets/tempest/StealEnchantment.java | 6 +-- .../mage/sets/tenthedition/Persuasion.java | 4 +- .../src/mage/sets/urzasdestiny/Treachery.java | 6 +-- .../src/mage/sets/urzassaga/Confiscate.java | 4 +- .../src/mage/sets/worldwake/VaporSnare.java | 13 +++--- .../continuous/ControlEnchantedEffect.java | 6 ++- 20 files changed, 78 insertions(+), 102 deletions(-) diff --git a/Mage.Sets/src/mage/sets/avacynrestored/SpiritAway.java b/Mage.Sets/src/mage/sets/avacynrestored/SpiritAway.java index 983e2a25f21..5b60e2c02ce 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/SpiritAway.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/SpiritAway.java @@ -27,7 +27,7 @@ */ package mage.sets.avacynrestored; -import mage.constants.*; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; @@ -37,11 +37,15 @@ import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; -import java.util.UUID; - /** * * @author noxx @@ -58,11 +62,11 @@ public class SpiritAway extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); - - // You control enchanted creature. + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); + + // You control enchanted creature. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); // Enchanted creature gets +2/+2 and has flying. diff --git a/Mage.Sets/src/mage/sets/dragonsoftarkir/IllusoryGains.java b/Mage.Sets/src/mage/sets/dragonsoftarkir/IllusoryGains.java index e2c756460a3..5cbae1c1252 100644 --- a/Mage.Sets/src/mage/sets/dragonsoftarkir/IllusoryGains.java +++ b/Mage.Sets/src/mage/sets/dragonsoftarkir/IllusoryGains.java @@ -56,9 +56,9 @@ import mage.target.common.TargetCreaturePermanent; * @author fireshoes */ public class IllusoryGains extends CardImpl { - + private static final FilterPermanent filter = new FilterCreaturePermanent("a creature"); - + static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); } @@ -71,13 +71,13 @@ public class IllusoryGains extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - + // You control enchanted creature. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); - + // Whenever a creature enters the battlefield under an opponent's control, attach Illusory Gains to that creature. this.addAbility(new EntersBattlefieldAllTriggeredAbility( Zone.BATTLEFIELD, new IllusoryGainsEffect(), filter, false, SetTargetPointer.PERMANENT, "Whenever a creature enters the battlefield under an opponent's control, you attach Illusory Gains to that creature.")); diff --git a/Mage.Sets/src/mage/sets/iceage/Conquer.java b/Mage.Sets/src/mage/sets/iceage/Conquer.java index 614ae63e28d..901f6332df8 100644 --- a/Mage.Sets/src/mage/sets/iceage/Conquer.java +++ b/Mage.Sets/src/mage/sets/iceage/Conquer.java @@ -56,12 +56,12 @@ public class Conquer extends CardImpl { // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - + // You control enchanted land. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("land"))); } public Conquer(final Conquer card) { diff --git a/Mage.Sets/src/mage/sets/limitedalpha/ControlMagic.java b/Mage.Sets/src/mage/sets/limitedalpha/ControlMagic.java index 6a27d829d84..77b9fbe191a 100644 --- a/Mage.Sets/src/mage/sets/limitedalpha/ControlMagic.java +++ b/Mage.Sets/src/mage/sets/limitedalpha/ControlMagic.java @@ -57,7 +57,7 @@ public class ControlMagic extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted creature. diff --git a/Mage.Sets/src/mage/sets/magic2010/MindControl.java b/Mage.Sets/src/mage/sets/magic2010/MindControl.java index b3e030da380..e068e09e5ef 100644 --- a/Mage.Sets/src/mage/sets/magic2010/MindControl.java +++ b/Mage.Sets/src/mage/sets/magic2010/MindControl.java @@ -1,16 +1,16 @@ /* * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. @@ -29,16 +29,16 @@ package mage.sets.magic2010; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -54,11 +54,13 @@ public class MindControl extends CardImpl { this.subtype.add("Aura"); + // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); + // You control enchanted creature. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); } diff --git a/Mage.Sets/src/mage/sets/masterseditionii/BindingGrasp.java b/Mage.Sets/src/mage/sets/masterseditionii/BindingGrasp.java index 860203cdf76..9e2899223b1 100644 --- a/Mage.Sets/src/mage/sets/masterseditionii/BindingGrasp.java +++ b/Mage.Sets/src/mage/sets/masterseditionii/BindingGrasp.java @@ -61,7 +61,7 @@ public class BindingGrasp extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // At the beginning of your upkeep, sacrifice Binding Grasp unless you pay {1}{U}. diff --git a/Mage.Sets/src/mage/sets/mirrodin/Domineer.java b/Mage.Sets/src/mage/sets/mirrodin/Domineer.java index ea9388e1ca8..a277945e33a 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/Domineer.java +++ b/Mage.Sets/src/mage/sets/mirrodin/Domineer.java @@ -67,7 +67,7 @@ public class Domineer extends CardImpl { Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted artifact creature. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("artifact creature"))); } public Domineer(final Domineer card) { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/CorruptedConscience.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/CorruptedConscience.java index c26e3cff44c..f62215f71b9 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/CorruptedConscience.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/CorruptedConscience.java @@ -58,7 +58,7 @@ public class CorruptedConscience extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java b/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java index 692ba6a7933..b3f3741406f 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java +++ b/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java @@ -63,10 +63,7 @@ public class TakePossession extends CardImpl { Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted permanent. - Effect effect = new ControlEnchantedEffect(); - effect.setText("You control enchanted permanent"); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); - + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent"))); } public TakePossession(final TakePossession card) { diff --git a/Mage.Sets/src/mage/sets/newphyrexia/Enslave.java b/Mage.Sets/src/mage/sets/newphyrexia/Enslave.java index b9bd7826273..33c231b5bb8 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/Enslave.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/Enslave.java @@ -61,7 +61,7 @@ public class Enslave extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/onslaught/Annex.java b/Mage.Sets/src/mage/sets/onslaught/Annex.java index d25c9ee9b68..bc7e376582d 100644 --- a/Mage.Sets/src/mage/sets/onslaught/Annex.java +++ b/Mage.Sets/src/mage/sets/onslaught/Annex.java @@ -61,7 +61,7 @@ public class Annex extends CardImpl { this.addAbility(ability); // You control enchanted land. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("land"))); } public Annex(final Annex card) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java index acec0deffa2..b6007a9c07d 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java @@ -28,9 +28,7 @@ package mage.sets.scarsofmirrodin; -import mage.constants.CardType; -import mage.constants.Rarity; -import mage.constants.Zone; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -39,13 +37,14 @@ import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; +import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; -import java.util.UUID; - /** * @author nantuko */ @@ -56,14 +55,16 @@ public class VolitionReins extends CardImpl { this.expansionSetCode = "SOM"; this.subtype.add("Aura"); - + // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + // When Volition Reins enters the battlefield, if enchanted permanent is tapped, untap it. this.addAbility(new EntersBattlefieldTriggeredAbility(new UntapVolitionReinsEffect())); + // You control enchanted permanent. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent"))); } public VolitionReins(final VolitionReins card) { diff --git a/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java b/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java index 383d8fda121..3e35758430b 100644 --- a/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java +++ b/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java @@ -28,16 +28,16 @@ package mage.sets.seventhedition; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetArtifactPermanent; @@ -52,15 +52,14 @@ public class StealArtifact extends CardImpl { this.expansionSetCode = "7ED"; this.subtype.add("Aura"); - // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted artifact. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("artifact"))); } public StealArtifact(final StealArtifact card) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/BitingTether.java b/Mage.Sets/src/mage/sets/shadowmoor/BitingTether.java index 6501317face..7f8a133a58f 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/BitingTether.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/BitingTether.java @@ -31,9 +31,9 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; +import mage.abilities.effects.common.counter.AddCountersAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -42,8 +42,6 @@ import mage.constants.Rarity; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; -import mage.game.Game; -import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -59,11 +57,10 @@ public class BitingTether extends CardImpl { this.expansionSetCode = "SHM"; this.subtype.add("Aura"); - // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); @@ -71,7 +68,7 @@ public class BitingTether extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); // At the beginning of your upkeep, put a -1/-1 counter on enchanted creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new BitingTetherEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), "enchanted creature"), TargetController.YOU, false)); } @@ -84,34 +81,3 @@ public class BitingTether extends CardImpl { return new BitingTether(this); } } - -class BitingTetherEffect extends OneShotEffect { - - public BitingTetherEffect() { - super(Outcome.Neutral); - this.staticText = "put a -1/-1 counter on enchanted creature"; - } - - public BitingTetherEffect(final BitingTetherEffect effect) { - super(effect); - } - - @Override - public BitingTetherEffect copy() { - return new BitingTetherEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent bitingTether = game.getPermanent(source.getSourceId()); - if (bitingTether == null) { - return false; - } - Permanent enchantedCreature = game.getPermanent(bitingTether.getAttachedTo()); - if (enchantedCreature != null) { - enchantedCreature.addCounters(CounterType.M1M1.createInstance(), game); - return true; - } - return false; - } -} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/tempest/StealEnchantment.java b/Mage.Sets/src/mage/sets/tempest/StealEnchantment.java index 252bfc71896..deedc3d20f0 100644 --- a/Mage.Sets/src/mage/sets/tempest/StealEnchantment.java +++ b/Mage.Sets/src/mage/sets/tempest/StealEnchantment.java @@ -56,12 +56,12 @@ public class StealEnchantment extends CardImpl { // Enchant enchantment TargetPermanent auraTarget = new TargetEnchantmentPermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - + // You control enchanted enchantment. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("enchantment"))); } public StealEnchantment(final StealEnchantment card) { diff --git a/Mage.Sets/src/mage/sets/tenthedition/Persuasion.java b/Mage.Sets/src/mage/sets/tenthedition/Persuasion.java index ca8b7986000..fc492d45680 100644 --- a/Mage.Sets/src/mage/sets/tenthedition/Persuasion.java +++ b/Mage.Sets/src/mage/sets/tenthedition/Persuasion.java @@ -56,10 +56,10 @@ public class Persuasion extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - + // You control enchanted creature. Ability controlAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect()); this.addAbility(controlAbility); diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/Treachery.java b/Mage.Sets/src/mage/sets/urzasdestiny/Treachery.java index 0b2b58a5a35..e3222f67c4d 100644 --- a/Mage.Sets/src/mage/sets/urzasdestiny/Treachery.java +++ b/Mage.Sets/src/mage/sets/urzasdestiny/Treachery.java @@ -29,8 +29,6 @@ package mage.sets.urzasdestiny; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -39,7 +37,9 @@ import mage.abilities.effects.common.UntapLandsEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; +import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.Rarity; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -59,7 +59,7 @@ public class Treachery extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // When Treachery enters the battlefield, untap up to five lands. diff --git a/Mage.Sets/src/mage/sets/urzassaga/Confiscate.java b/Mage.Sets/src/mage/sets/urzassaga/Confiscate.java index 071e9d1386a..e86cbc23e1d 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/Confiscate.java +++ b/Mage.Sets/src/mage/sets/urzassaga/Confiscate.java @@ -56,12 +56,12 @@ public class Confiscate extends CardImpl { // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted permanent. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent"))); } public Confiscate(final Confiscate card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/VaporSnare.java b/Mage.Sets/src/mage/sets/worldwake/VaporSnare.java index e56332bdb5b..743143d411b 100644 --- a/Mage.Sets/src/mage/sets/worldwake/VaporSnare.java +++ b/Mage.Sets/src/mage/sets/worldwake/VaporSnare.java @@ -28,8 +28,6 @@ package mage.sets.worldwake; import java.util.UUID; - -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -39,6 +37,11 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -61,7 +64,7 @@ public class VaporSnare extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); @@ -83,7 +86,7 @@ public class VaporSnare extends CardImpl { } class VaporSnareEffect extends OneShotEffect { - + private static final FilterControlledPermanent filter = new FilterControlledPermanent(); private static final String effectText = "sacrifice {this} unless you return a land you control to its owner's hand"; @@ -123,4 +126,4 @@ class VaporSnareEffect extends OneShotEffect { public VaporSnareEffect copy() { return new VaporSnareEffect(this); } -} \ No newline at end of file +} diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/ControlEnchantedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/ControlEnchantedEffect.java index d4492fecd41..55755f9c1de 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/ControlEnchantedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/ControlEnchantedEffect.java @@ -15,8 +15,12 @@ import mage.game.permanent.Permanent; public class ControlEnchantedEffect extends ContinuousEffectImpl { public ControlEnchantedEffect() { + this("creature"); + } + + public ControlEnchantedEffect(String targetDescription) { super(Duration.WhileOnBattlefield, Outcome.GainControl); - staticText = "You control enchanted creature"; + staticText = "You control enchanted " + targetDescription; } public ControlEnchantedEffect(final ControlEnchantedEffect effect) {