From fdd6b48446beafaf2afa891ea2e48607e38023cb Mon Sep 17 00:00:00 2001 From: magenoxx Date: Thu, 2 Aug 2012 20:40:04 +0300 Subject: [PATCH] Cards from UG madness deck --- .../mage/sets/fifthedition/MemoryLapse.java | 52 +++++++ .../src/mage/sets/mirage/MemoryLapse.java | 52 +++++++ .../src/mage/sets/odyssey/AEtherBurst.java | 144 ++++++++++++++++++ .../mage/sets/seventhedition/MemoryLapse.java | 64 ++++++++ .../mage/sets/sixthedition/MemoryLapse.java | 52 +++++++ .../src/mage/sets/torment/Aquamoeba.java | 70 +++++++++ .../src/mage/sets/torment/DeepAnalysis.java | 75 +++++++++ 7 files changed, 509 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/fifthedition/MemoryLapse.java create mode 100644 Mage.Sets/src/mage/sets/mirage/MemoryLapse.java create mode 100644 Mage.Sets/src/mage/sets/odyssey/AEtherBurst.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/MemoryLapse.java create mode 100644 Mage.Sets/src/mage/sets/sixthedition/MemoryLapse.java create mode 100644 Mage.Sets/src/mage/sets/torment/Aquamoeba.java create mode 100644 Mage.Sets/src/mage/sets/torment/DeepAnalysis.java diff --git a/Mage.Sets/src/mage/sets/fifthedition/MemoryLapse.java b/Mage.Sets/src/mage/sets/fifthedition/MemoryLapse.java new file mode 100644 index 00000000000..0a495d956f7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/MemoryLapse.java @@ -0,0 +1,52 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.fifthedition; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + */ +public class MemoryLapse extends mage.sets.seventhedition.MemoryLapse { + + public MemoryLapse(UUID ownerId) { + super(ownerId); + this.cardNumber = 103; + this.expansionSetCode = "5ED"; + } + + public MemoryLapse(final MemoryLapse card) { + super(card); + } + + @Override + public MemoryLapse copy() { + return new MemoryLapse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/MemoryLapse.java b/Mage.Sets/src/mage/sets/mirage/MemoryLapse.java new file mode 100644 index 00000000000..913489ce65c --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/MemoryLapse.java @@ -0,0 +1,52 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.mirage; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + */ +public class MemoryLapse extends mage.sets.seventhedition.MemoryLapse { + + public MemoryLapse(UUID ownerId) { + super(ownerId); + this.cardNumber = 74; + this.expansionSetCode = "MIR"; + } + + public MemoryLapse(final MemoryLapse card) { + super(card); + } + + @Override + public MemoryLapse copy() { + return new MemoryLapse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/odyssey/AEtherBurst.java b/Mage.Sets/src/mage/sets/odyssey/AEtherBurst.java new file mode 100644 index 00000000000..4b8947fb0cd --- /dev/null +++ b/Mage.Sets/src/mage/sets/odyssey/AEtherBurst.java @@ -0,0 +1,144 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.odyssey; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.NamePredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + */ +public class AEtherBurst extends CardImpl { + + private static FilterCard filter = new FilterCard("cards named AEther Burst"); + + static { + filter.add(new NamePredicate("AEther Burst")); + } + + public AEtherBurst(UUID ownerId) { + super(ownerId, 60, "AEther Burst", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{U}"); + this.expansionSetCode = "ODY"; + + this.color.setBlue(true); + + // Return up to X target creatures to their owners' hands, where X is one plus the number of cards named AEther Burst in all graveyards as you cast AEther Burst. + this.getSpellAbility().addEffect(new DynamicReturnToHandTargetEffect()); + this.getSpellAbility().addTarget(new DynamicTargetCreaturePermanent()); + } + + @Override + public void adjustTargets(Ability ability, Game game) { + Target target = ability.getTargets().get(0); + if (target instanceof DynamicTargetCreaturePermanent) { + Player controller = game.getPlayer(ability.getControllerId()); + int amount = 0; + if (controller != null) { + for (UUID playerId : controller.getInRange()) { + Player player = game.getPlayer(playerId); + if (player != null) { + amount += player.getGraveyard().getCards(filter, game).size(); + } + } + } + ((DynamicTargetCreaturePermanent)target).setMaxNumberOfTargets(amount + 1); + } + } + + public AEtherBurst(final AEtherBurst card) { + super(card); + } + + @Override + public AEtherBurst copy() { + return new AEtherBurst(this); + } +} + +class DynamicTargetCreaturePermanent> extends TargetCreaturePermanent> { + + private static FilterCreaturePermanent filterCreature = new FilterCreaturePermanent("creatures"); + + public DynamicTargetCreaturePermanent() { + super(new TargetCreaturePermanent(filterCreature)); + } + + public DynamicTargetCreaturePermanent(final DynamicTargetCreaturePermanent target) { + super(target); + } + + public void setMaxNumberOfTargets(int maxNumberOfTargets) { + this.maxNumberOfTargets = maxNumberOfTargets; + } + + @Override + public DynamicTargetCreaturePermanent copy() { + return new DynamicTargetCreaturePermanent(this); + } + +} + +/** + * We extend ReturnToHandTargetEffect class just to override the rules. + */ +class DynamicReturnToHandTargetEffect extends ReturnToHandTargetEffect { + + public DynamicReturnToHandTargetEffect() { + super(); + } + + public DynamicReturnToHandTargetEffect(final DynamicReturnToHandTargetEffect effect) { + super(effect); + } + + @Override + public DynamicReturnToHandTargetEffect copy() { + return new DynamicReturnToHandTargetEffect(this); + } + + @Override + public String getText(Mode mode) { + return "Return up to X target creatures to their owners' hands, where X is one plus the number of cards named AEther Burst in all graveyards as you cast AEther Burst"; + } + +} + diff --git a/Mage.Sets/src/mage/sets/seventhedition/MemoryLapse.java b/Mage.Sets/src/mage/sets/seventhedition/MemoryLapse.java new file mode 100644 index 00000000000..4ab8f52155a --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/MemoryLapse.java @@ -0,0 +1,64 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.seventhedition; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.CounterTargetWithReplacementEffect; +import mage.cards.CardImpl; +import mage.target.TargetSpell; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + */ +public class MemoryLapse extends CardImpl { + + public MemoryLapse(UUID ownerId) { + super(ownerId, 88, "Memory Lapse", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{U}"); + this.expansionSetCode = "7ED"; + + this.color.setBlue(true); + + // Counter target spell. If that spell is countered this way, put it on top of its owner's library instead of into that player's graveyard. + this.getSpellAbility().addEffect(new CounterTargetWithReplacementEffect(Constants.Zone.LIBRARY, true)); + this.getSpellAbility().addTarget(new TargetSpell()); + } + + public MemoryLapse(final MemoryLapse card) { + super(card); + } + + @Override + public MemoryLapse copy() { + return new MemoryLapse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/sixthedition/MemoryLapse.java b/Mage.Sets/src/mage/sets/sixthedition/MemoryLapse.java new file mode 100644 index 00000000000..593c928c33d --- /dev/null +++ b/Mage.Sets/src/mage/sets/sixthedition/MemoryLapse.java @@ -0,0 +1,52 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.sixthedition; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + */ +public class MemoryLapse extends mage.sets.seventhedition.MemoryLapse { + + public MemoryLapse(UUID ownerId) { + super(ownerId); + this.cardNumber = 81; + this.expansionSetCode = "6ED"; + } + + public MemoryLapse(final MemoryLapse card) { + super(card); + } + + @Override + public MemoryLapse copy() { + return new MemoryLapse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/torment/Aquamoeba.java b/Mage.Sets/src/mage/sets/torment/Aquamoeba.java new file mode 100644 index 00000000000..5d599222c4b --- /dev/null +++ b/Mage.Sets/src/mage/sets/torment/Aquamoeba.java @@ -0,0 +1,70 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.torment; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.effects.common.continious.SwitchPowerToughnessSourceEffect; +import mage.cards.CardImpl; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + + */ +public class Aquamoeba extends CardImpl { + + public Aquamoeba(UUID ownerId) { + super(ownerId, 24, "Aquamoeba", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{U}"); + this.expansionSetCode = "TOR"; + this.subtype.add("Elemental"); + this.subtype.add("Beast"); + + this.color.setBlue(true); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Discard a card: Switch Aquamoeba's power and toughness until end of turn. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new SwitchPowerToughnessSourceEffect(Constants.Duration.EndOfTurn), new DiscardCardCost())); + } + + public Aquamoeba(final Aquamoeba card) { + super(card); + } + + @Override + public Aquamoeba copy() { + return new Aquamoeba(this); + } +} diff --git a/Mage.Sets/src/mage/sets/torment/DeepAnalysis.java b/Mage.Sets/src/mage/sets/torment/DeepAnalysis.java new file mode 100644 index 00000000000..8de686ada52 --- /dev/null +++ b/Mage.Sets/src/mage/sets/torment/DeepAnalysis.java @@ -0,0 +1,75 @@ +/* + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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. + */ +package mage.sets.torment; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.costs.Costs; +import mage.abilities.costs.CostsImpl; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DrawCardTargetEffect; +import mage.abilities.keyword.FlashbackAbility; +import mage.cards.CardImpl; +import mage.target.TargetPlayer; + +import java.util.UUID; + +/** + * + * @author magenoxx_at_gmail.com + */ +public class DeepAnalysis extends CardImpl { + + public DeepAnalysis(UUID ownerId) { + super(ownerId, 36, "Deep Analysis", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{U}"); + this.expansionSetCode = "TOR"; + + this.color.setBlue(true); + + // Target player draws two cards. + this.getSpellAbility().addEffect(new DrawCardTargetEffect(2)); + this.getSpellAbility().addTarget(new TargetPlayer()); + + // Flashback-{1}{U}, Pay 3 life. + Costs costs = new CostsImpl(); + costs.add(new ManaCostsImpl("{1}{U}")); + costs.add(new PayLifeCost(3)); + this.addAbility(new FlashbackAbility(costs, Constants.TimingRule.SORCERY)); + } + + public DeepAnalysis(final DeepAnalysis card) { + super(card); + } + + @Override + public DeepAnalysis copy() { + return new DeepAnalysis(this); + } +}