From fcc67a5a604973dddb8a2a4908af40ce3b350e00 Mon Sep 17 00:00:00 2001 From: fireshoes Date: Tue, 11 Aug 2015 23:12:52 -0500 Subject: [PATCH] Implemented 24 cards. Fixed some incorrect collector numbers in Ice Age. --- .../mage/sets/alliances/Reinforcements.java | 52 +++++++++ .../arabiannights/IslandFishJasconius.java | 52 +++++++++ .../mage/sets/fifthedition/BlessedWine.java | 64 +++++++++++ .../src/mage/sets/fifthedition/Flare.java | 66 +++++++++++ .../sets/fifthedition/KrovikanFetish.java | 80 +++++++++++++ .../src/mage/sets/fifthedition/TimeBomb.java | 52 +++++++++ .../src/mage/sets/fifthedition/Updraft.java | 54 +++++++++ .../fourthedition/IslandFishJasconius.java | 89 +++++++++++++++ .../src/mage/sets/iceage/BlessedWine.java | 52 +++++++++ Mage.Sets/src/mage/sets/iceage/Flare.java | 52 +++++++++ Mage.Sets/src/mage/sets/iceage/Infuse.java | 78 +++++++++++++ .../src/mage/sets/iceage/KrovikanFetish.java | 52 +++++++++ Mage.Sets/src/mage/sets/iceage/MindWarp.java | 2 +- .../src/mage/sets/iceage/SkeletonShip.java | 80 +++++++++++++ Mage.Sets/src/mage/sets/iceage/TimeBomb.java | 52 +++++++++ Mage.Sets/src/mage/sets/iceage/Updraft.java | 68 +++++++++++ .../src/mage/sets/judgment/NantukoTracer.java | 68 +++++++++++ .../sets/masterseditionii/KrovikanFetish.java | 52 +++++++++ .../sets/masterseditionii/Reinforcements.java | 61 ++++++++++ .../sets/masterseditionii/SkeletonShip.java | 52 +++++++++ .../mage/sets/masterseditionii/TimeBomb.java | 78 +++++++++++++ .../mage/sets/masterseditioniii/Infuse.java | 52 +++++++++ .../mercadianmasques/MagistratesVeto.java | 73 ++++++++++++ .../src/mage/sets/mirage/BoneHarvest.java | 67 +++++++++++ Mage.Sets/src/mage/sets/mirage/Flare.java | 52 +++++++++ Mage.Sets/src/mage/sets/mirage/Jolt.java | 78 +++++++++++++ Mage.Sets/src/mage/sets/mirage/Taniwha.java | 108 ++++++++++++++++++ .../src/mage/sets/nemesis/TricksterMage.java | 86 ++++++++++++++ .../src/mage/sets/prophecy/Flameshot.java | 74 ++++++++++++ .../revisededition/IslandFishJasconius.java | 52 +++++++++ .../src/mage/sets/scourge/SkirkVolcanist.java | 84 ++++++++++++++ Mage.Sets/src/mage/sets/tempest/Stun.java | 7 +- .../mage/sets/torment/BarbarianOutcast.java | 77 +++++++++++++ .../mage/sets/torment/FlashOfDefiance.java | 81 +++++++++++++ .../sets/urzasdestiny/CovetousDragon.java | 71 ++++++++++++ .../sets/urzasdestiny/TetheredGriffin.java | 71 ++++++++++++ .../src/mage/sets/visions/EmeraldCharm.java | 88 ++++++++++++++ .../src/mage/sets/visions/MagmaMine.java | 76 ++++++++++++ .../src/mage/sets/weatherlight/Downdraft.java | 82 +++++++++++++ Utils/mtg-cards-data.txt | 52 ++++----- 40 files changed, 2554 insertions(+), 33 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/alliances/Reinforcements.java create mode 100644 Mage.Sets/src/mage/sets/arabiannights/IslandFishJasconius.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/BlessedWine.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/Flare.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/KrovikanFetish.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/TimeBomb.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/Updraft.java create mode 100644 Mage.Sets/src/mage/sets/fourthedition/IslandFishJasconius.java create mode 100644 Mage.Sets/src/mage/sets/iceage/BlessedWine.java create mode 100644 Mage.Sets/src/mage/sets/iceage/Flare.java create mode 100644 Mage.Sets/src/mage/sets/iceage/Infuse.java create mode 100644 Mage.Sets/src/mage/sets/iceage/KrovikanFetish.java create mode 100644 Mage.Sets/src/mage/sets/iceage/SkeletonShip.java create mode 100644 Mage.Sets/src/mage/sets/iceage/TimeBomb.java create mode 100644 Mage.Sets/src/mage/sets/iceage/Updraft.java create mode 100644 Mage.Sets/src/mage/sets/judgment/NantukoTracer.java create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/KrovikanFetish.java create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/Reinforcements.java create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/SkeletonShip.java create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/TimeBomb.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniii/Infuse.java create mode 100644 Mage.Sets/src/mage/sets/mercadianmasques/MagistratesVeto.java create mode 100644 Mage.Sets/src/mage/sets/mirage/BoneHarvest.java create mode 100644 Mage.Sets/src/mage/sets/mirage/Flare.java create mode 100644 Mage.Sets/src/mage/sets/mirage/Jolt.java create mode 100644 Mage.Sets/src/mage/sets/mirage/Taniwha.java create mode 100644 Mage.Sets/src/mage/sets/nemesis/TricksterMage.java create mode 100644 Mage.Sets/src/mage/sets/prophecy/Flameshot.java create mode 100644 Mage.Sets/src/mage/sets/revisededition/IslandFishJasconius.java create mode 100644 Mage.Sets/src/mage/sets/scourge/SkirkVolcanist.java create mode 100644 Mage.Sets/src/mage/sets/torment/BarbarianOutcast.java create mode 100644 Mage.Sets/src/mage/sets/torment/FlashOfDefiance.java create mode 100644 Mage.Sets/src/mage/sets/urzasdestiny/CovetousDragon.java create mode 100644 Mage.Sets/src/mage/sets/urzasdestiny/TetheredGriffin.java create mode 100644 Mage.Sets/src/mage/sets/visions/EmeraldCharm.java create mode 100644 Mage.Sets/src/mage/sets/visions/MagmaMine.java create mode 100644 Mage.Sets/src/mage/sets/weatherlight/Downdraft.java diff --git a/Mage.Sets/src/mage/sets/alliances/Reinforcements.java b/Mage.Sets/src/mage/sets/alliances/Reinforcements.java new file mode 100644 index 00000000000..9cf544f1282 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alliances/Reinforcements.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.alliances; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class Reinforcements extends mage.sets.masterseditionii.Reinforcements { + + public Reinforcements(UUID ownerId) { + super(ownerId); + this.cardNumber = 142; + this.expansionSetCode = "ALL"; + } + + public Reinforcements(final Reinforcements card) { + super(card); + } + + @Override + public Reinforcements copy() { + return new Reinforcements(this); + } +} diff --git a/Mage.Sets/src/mage/sets/arabiannights/IslandFishJasconius.java b/Mage.Sets/src/mage/sets/arabiannights/IslandFishJasconius.java new file mode 100644 index 00000000000..165b82a7109 --- /dev/null +++ b/Mage.Sets/src/mage/sets/arabiannights/IslandFishJasconius.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.arabiannights; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class IslandFishJasconius extends mage.sets.fourthedition.IslandFishJasconius { + + public IslandFishJasconius(UUID ownerId) { + super(ownerId); + this.cardNumber = 22; + this.expansionSetCode = "ARN"; + } + + public IslandFishJasconius(final IslandFishJasconius card) { + super(card); + } + + @Override + public IslandFishJasconius copy() { + return new IslandFishJasconius(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/BlessedWine.java b/Mage.Sets/src/mage/sets/fifthedition/BlessedWine.java new file mode 100644 index 00000000000..2775748e3ea --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/BlessedWine.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.fifthedition; + +import java.util.UUID; +import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class BlessedWine extends CardImpl { + + public BlessedWine(UUID ownerId) { + super(ownerId, 287, "Blessed Wine", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{W}"); + this.expansionSetCode = "5ED"; + + // You gain 1 life. + this.getSpellAbility().addEffect(new GainLifeEffect(1)); + + // Draw a card at the beginning of the next turn's upkeep. + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + } + + public BlessedWine(final BlessedWine card) { + super(card); + } + + @Override + public BlessedWine copy() { + return new BlessedWine(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/Flare.java b/Mage.Sets/src/mage/sets/fifthedition/Flare.java new file mode 100644 index 00000000000..9a11b49dbd9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/Flare.java @@ -0,0 +1,66 @@ +/* + * 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; +import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author fireshoes + */ +public class Flare extends CardImpl { + + public Flare(UUID ownerId) { + super(ownerId, 11, "Flare", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{R}"); + this.expansionSetCode = "5ED"; + + // Flare deals 1 damage to target creature or player. + this.getSpellAbility().addEffect(new DamageTargetEffect(1)); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); + + // Draw a card at the beginning of the next turn's upkeep. + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + } + + public Flare(final Flare card) { + super(card); + } + + @Override + public Flare copy() { + return new Flare(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/KrovikanFetish.java b/Mage.Sets/src/mage/sets/fifthedition/KrovikanFetish.java new file mode 100644 index 00000000000..b0737e4e546 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/KrovikanFetish.java @@ -0,0 +1,80 @@ +/* + * 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; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.BoostEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +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; + +/** + * + * @author fireshoes + */ +public class KrovikanFetish extends CardImpl { + + public KrovikanFetish(UUID ownerId) { + super(ownerId, 34, "Krovikan Fetish", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); + this.expansionSetCode = "5ED"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // When Krovikan Fetish enters the battlefield, draw a card at the beginning of the next turn's upkeep. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); + + // Enchanted creature gets +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield))); + } + + public KrovikanFetish(final KrovikanFetish card) { + super(card); + } + + @Override + public KrovikanFetish copy() { + return new KrovikanFetish(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/TimeBomb.java b/Mage.Sets/src/mage/sets/fifthedition/TimeBomb.java new file mode 100644 index 00000000000..02b17e3aa86 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/TimeBomb.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 fireshoes + */ +public class TimeBomb extends mage.sets.masterseditionii.TimeBomb { + + public TimeBomb(UUID ownerId) { + super(ownerId); + this.cardNumber = 404; + this.expansionSetCode = "5ED"; + } + + public TimeBomb(final TimeBomb card) { + super(card); + } + + @Override + public TimeBomb copy() { + return new TimeBomb(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/Updraft.java b/Mage.Sets/src/mage/sets/fifthedition/Updraft.java new file mode 100644 index 00000000000..7b8982eed8d --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/Updraft.java @@ -0,0 +1,54 @@ +/* + * 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; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class Updraft extends mage.sets.iceage.Updraft { + + public Updraft(UUID ownerId) { + super(ownerId); + this.cardNumber = 133; + this.expansionSetCode = "5ED"; + this.rarity = Rarity.COMMON; + } + + public Updraft(final Updraft card) { + super(card); + } + + @Override + public Updraft copy() { + return new Updraft(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/IslandFishJasconius.java b/Mage.Sets/src/mage/sets/fourthedition/IslandFishJasconius.java new file mode 100644 index 00000000000..fd840a61c28 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/IslandFishJasconius.java @@ -0,0 +1,89 @@ +/* + * 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.fourthedition; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.UntapSourceEffect; +import mage.abilities.effects.common.combat.CantAttackUnlessDefenderControllsPermanent; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.Filter; +import mage.filter.common.FilterLandPermanent; + +/** + * + * @author fireshoes + */ +public class IslandFishJasconius extends CardImpl { + + public IslandFishJasconius(UUID ownerId) { + super(ownerId, 78, "Island Fish Jasconius", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{U}{U}{U}"); + this.expansionSetCode = "4ED"; + this.subtype.add("Fish"); + this.power = new MageInt(6); + this.toughness = new MageInt(8); + + // Island Fish Jasconius doesn't untap during your untap step. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); + + // At the beginning of your upkeep, you may pay {U}{U}{U}. If you do, untap Island Fish Jasconius. + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + Zone.BATTLEFIELD, + new DoIfCostPaid(new UntapSourceEffect(), new ManaCostsImpl("{U}{U}{U}")), + TargetController.YOU, + false)); + + // Island Fish Jasconius can't attack unless defending player controls an Island. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent("Island", "an Island")))); + + // When you control no Islands, sacrifice Island Fish Jasconius. + this.addAbility(new ControlsPermanentsControllerTriggeredAbility( + new FilterLandPermanent("Island", "no Islands"), Filter.ComparisonType.Equal, 0, + new SacrificeSourceEffect())); + } + + public IslandFishJasconius(final IslandFishJasconius card) { + super(card); + } + + @Override + public IslandFishJasconius copy() { + return new IslandFishJasconius(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/BlessedWine.java b/Mage.Sets/src/mage/sets/iceage/BlessedWine.java new file mode 100644 index 00000000000..106007dcc35 --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/BlessedWine.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.iceage; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class BlessedWine extends mage.sets.fifthedition.BlessedWine { + + public BlessedWine(UUID ownerId) { + super(ownerId); + this.cardNumber = 231; + this.expansionSetCode = "ICE"; + } + + public BlessedWine(final BlessedWine card) { + super(card); + } + + @Override + public BlessedWine copy() { + return new BlessedWine(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/Flare.java b/Mage.Sets/src/mage/sets/iceage/Flare.java new file mode 100644 index 00000000000..417b3ffdb1e --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/Flare.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.iceage; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class Flare extends mage.sets.fifthedition.Flare { + + public Flare(UUID ownerId) { + super(ownerId); + this.cardNumber = 185; + this.expansionSetCode = "ICE"; + } + + public Flare(final Flare card) { + super(card); + } + + @Override + public Flare copy() { + return new Flare(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/Infuse.java b/Mage.Sets/src/mage/sets/iceage/Infuse.java new file mode 100644 index 00000000000..d531e6be499 --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/Infuse.java @@ -0,0 +1,78 @@ +/* + * 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.iceage; + +import java.util.UUID; +import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.TargetPermanent; + +/** + * + * @author fireshoes + */ +public class Infuse extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or land"); + + static { + filter.add(Predicates.or( + new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.CREATURE), + new CardTypePredicate(CardType.LAND))); + } + + public Infuse(UUID ownerId) { + super(ownerId, 80, "Infuse", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{U}"); + this.expansionSetCode = "ICE"; + + // Untap target artifact, creature, or land. + this.getSpellAbility().addEffect(new UntapTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); + + // Draw a card at the beginning of the next turn's upkeep. + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + } + + public Infuse(final Infuse card) { + super(card); + } + + @Override + public Infuse copy() { + return new Infuse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/KrovikanFetish.java b/Mage.Sets/src/mage/sets/iceage/KrovikanFetish.java new file mode 100644 index 00000000000..88688aeb24d --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/KrovikanFetish.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.iceage; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class KrovikanFetish extends mage.sets.fifthedition.KrovikanFetish { + + public KrovikanFetish(UUID ownerId) { + super(ownerId); + this.cardNumber = 28; + this.expansionSetCode = "ICE"; + } + + public KrovikanFetish(final KrovikanFetish card) { + super(card); + } + + @Override + public KrovikanFetish copy() { + return new KrovikanFetish(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/MindWarp.java b/Mage.Sets/src/mage/sets/iceage/MindWarp.java index d64c55a9dc5..0d6cbb17f83 100644 --- a/Mage.Sets/src/mage/sets/iceage/MindWarp.java +++ b/Mage.Sets/src/mage/sets/iceage/MindWarp.java @@ -43,7 +43,7 @@ import mage.target.TargetPlayer; public class MindWarp extends CardImpl { public MindWarp(UUID ownerId) { - super(ownerId, 14, "Mind Warp", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{X}{3}{B}"); + super(ownerId, 36, "Mind Warp", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{X}{3}{B}"); this.expansionSetCode = "ICE"; diff --git a/Mage.Sets/src/mage/sets/iceage/SkeletonShip.java b/Mage.Sets/src/mage/sets/iceage/SkeletonShip.java new file mode 100644 index 00000000000..38a31f5b63c --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/SkeletonShip.java @@ -0,0 +1,80 @@ +/* + * 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.iceage; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.Filter; +import mage.filter.common.FilterLandPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class SkeletonShip extends CardImpl { + + public SkeletonShip(UUID ownerId) { + super(ownerId, 379, "Skeleton Ship", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{U}"); + this.expansionSetCode = "ICE"; + this.supertype.add("Legendary"); + this.subtype.add("Skeleton"); + this.power = new MageInt(0); + this.toughness = new MageInt(3); + + // When you control no Islands, sacrifice Skeleton Ship. + this.addAbility(new ControlsPermanentsControllerTriggeredAbility( + new FilterLandPermanent("Island", "no Islands"), Filter.ComparisonType.Equal, 0, + new SacrificeSourceEffect())); + + // {tap}: Put a -1/-1 counter on target creature. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new TapSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public SkeletonShip(final SkeletonShip card) { + super(card); + } + + @Override + public SkeletonShip copy() { + return new SkeletonShip(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/TimeBomb.java b/Mage.Sets/src/mage/sets/iceage/TimeBomb.java new file mode 100644 index 00000000000..a707e9dc092 --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/TimeBomb.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.iceage; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class TimeBomb extends mage.sets.masterseditionii.TimeBomb { + + public TimeBomb(UUID ownerId) { + super(ownerId); + this.cardNumber = 317; + this.expansionSetCode = "ICE"; + } + + public TimeBomb(final TimeBomb card) { + super(card); + } + + @Override + public TimeBomb copy() { + return new TimeBomb(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/Updraft.java b/Mage.Sets/src/mage/sets/iceage/Updraft.java new file mode 100644 index 00000000000..64254f22b38 --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/Updraft.java @@ -0,0 +1,68 @@ +/* + * 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.iceage; + +import java.util.UUID; +import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class Updraft extends CardImpl { + + public Updraft(UUID ownerId) { + super(ownerId, 105, "Updraft", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{U}"); + this.expansionSetCode = "ICE"; + + // Target creature gains flying until end of turn. + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Draw a card at the beginning of the next turn's upkeep. + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + } + + public Updraft(final Updraft card) { + super(card); + } + + @Override + public Updraft copy() { + return new Updraft(this); + } +} diff --git a/Mage.Sets/src/mage/sets/judgment/NantukoTracer.java b/Mage.Sets/src/mage/sets/judgment/NantukoTracer.java new file mode 100644 index 00000000000..e0752b818d2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/judgment/NantukoTracer.java @@ -0,0 +1,68 @@ +/* + * 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.judgment; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.PutOnLibraryTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCardInGraveyard; + +/** + * + * @author fireshoes + */ +public class NantukoTracer extends CardImpl { + + public NantukoTracer(UUID ownerId) { + super(ownerId, 125, "Nantuko Tracer", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "JUD"; + this.subtype.add("Insect"); + this.subtype.add("Druid"); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // When Nantuko Tracer enters the battlefield, you may put target card from a graveyard on the bottom of its owner's library. + Ability ability = new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(false), true); + ability.addTarget(new TargetCardInGraveyard()); + this.addAbility(ability); + } + + public NantukoTracer(final NantukoTracer card) { + super(card); + } + + @Override + public NantukoTracer copy() { + return new NantukoTracer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditionii/KrovikanFetish.java b/Mage.Sets/src/mage/sets/masterseditionii/KrovikanFetish.java new file mode 100644 index 00000000000..dd4f06c1a9b --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditionii/KrovikanFetish.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.masterseditionii; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class KrovikanFetish extends mage.sets.fifthedition.KrovikanFetish { + + public KrovikanFetish(UUID ownerId) { + super(ownerId); + this.cardNumber = 100; + this.expansionSetCode = "ME2"; + } + + public KrovikanFetish(final KrovikanFetish card) { + super(card); + } + + @Override + public KrovikanFetish copy() { + return new KrovikanFetish(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditionii/Reinforcements.java b/Mage.Sets/src/mage/sets/masterseditionii/Reinforcements.java new file mode 100644 index 00000000000..b348961ba26 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditionii/Reinforcements.java @@ -0,0 +1,61 @@ +/* + * 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.masterseditionii; + +import java.util.UUID; +import mage.abilities.effects.common.PutOnLibraryTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreatureCard; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author fireshoes + */ +public class Reinforcements extends CardImpl { + + public Reinforcements(UUID ownerId) { + super(ownerId, 28, "Reinforcements", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{W}"); + this.expansionSetCode = "ME2"; + + // Put up to three target creature cards from your graveyard on top of your library. + this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true)); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 3, new FilterCreatureCard("creature cards from your graveyard"))); + } + + public Reinforcements(final Reinforcements card) { + super(card); + } + + @Override + public Reinforcements copy() { + return new Reinforcements(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditionii/SkeletonShip.java b/Mage.Sets/src/mage/sets/masterseditionii/SkeletonShip.java new file mode 100644 index 00000000000..96b1af5b4e6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditionii/SkeletonShip.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.masterseditionii; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class SkeletonShip extends mage.sets.iceage.SkeletonShip { + + public SkeletonShip(UUID ownerId) { + super(ownerId); + this.cardNumber = 197; + this.expansionSetCode = "ME2"; + } + + public SkeletonShip(final SkeletonShip card) { + super(card); + } + + @Override + public SkeletonShip copy() { + return new SkeletonShip(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditionii/TimeBomb.java b/Mage.Sets/src/mage/sets/masterseditionii/TimeBomb.java new file mode 100644 index 00000000000..d71d59a7ea7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditionii/TimeBomb.java @@ -0,0 +1,78 @@ +/* + * 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.masterseditionii; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.common.CountersCount; +import mage.abilities.effects.common.DamageEverythingEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class TimeBomb extends CardImpl { + + public TimeBomb(UUID ownerId) { + super(ownerId, 223, "Time Bomb", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{4}"); + this.expansionSetCode = "ME2"; + + // At the beginning of your upkeep, put a time counter on Time Bomb. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(), true), TargetController.YOU, false)); + + // {1}, {tap}, Sacrifice Time Bomb: Time Bomb deals damage equal to the number of time counters on it to each creature and each player. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, + new DamageEverythingEffect(new CountersCount(CounterType.TIME), new FilterCreaturePermanent()), + new GenericManaCost(1)); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public TimeBomb(final TimeBomb card) { + super(card); + } + + @Override + public TimeBomb copy() { + return new TimeBomb(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniii/Infuse.java b/Mage.Sets/src/mage/sets/masterseditioniii/Infuse.java new file mode 100644 index 00000000000..a67a3b3f188 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniii/Infuse.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.masterseditioniii; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class Infuse extends mage.sets.iceage.Infuse { + + public Infuse(UUID ownerId) { + super(ownerId); + this.cardNumber = 38; + this.expansionSetCode = "ME3"; + } + + public Infuse(final Infuse card) { + super(card); + } + + @Override + public Infuse copy() { + return new Infuse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/MagistratesVeto.java b/Mage.Sets/src/mage/sets/mercadianmasques/MagistratesVeto.java new file mode 100644 index 00000000000..88a61653bb4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mercadianmasques/MagistratesVeto.java @@ -0,0 +1,73 @@ +/* + * 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.mercadianmasques; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.combat.CantBlockAllEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author fireshoes + */ +public class MagistratesVeto extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("white creatures and blue creatures"); + + static { + filter.add(Predicates.or( + new ColorPredicate(ObjectColor.WHITE), + new ColorPredicate(ObjectColor.BLUE))); + } + + public MagistratesVeto(UUID ownerId) { + super(ownerId, 204, "Magistrate's Veto", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); + this.expansionSetCode = "MMQ"; + + // White creatures and blue creatures can't block. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAllEffect(filter, Duration.WhileOnBattlefield))); + } + + public MagistratesVeto(final MagistratesVeto card) { + super(card); + } + + @Override + public MagistratesVeto copy() { + return new MagistratesVeto(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/BoneHarvest.java b/Mage.Sets/src/mage/sets/mirage/BoneHarvest.java new file mode 100644 index 00000000000..0d770f08eaf --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/BoneHarvest.java @@ -0,0 +1,67 @@ +/* + * 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; +import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.PutOnLibraryTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreatureCard; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author fireshoes + */ +public class BoneHarvest extends CardImpl { + + public BoneHarvest(UUID ownerId) { + super(ownerId, 6, "Bone Harvest", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{B}"); + this.expansionSetCode = "MIR"; + + // Put any number of target creature cards from your graveyard on top of your library. + this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true)); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE, new FilterCreatureCard("creature cards from your graveyard"))); + + // Draw a card at the beginning of the next turn's upkeep. + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + } + + public BoneHarvest(final BoneHarvest card) { + super(card); + } + + @Override + public BoneHarvest copy() { + return new BoneHarvest(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/Flare.java b/Mage.Sets/src/mage/sets/mirage/Flare.java new file mode 100644 index 00000000000..967557d19a9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/Flare.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 fireshoes + */ +public class Flare extends mage.sets.fifthedition.Flare { + + public Flare(UUID ownerId) { + super(ownerId); + this.cardNumber = 176; + this.expansionSetCode = "MIR"; + } + + public Flare(final Flare card) { + super(card); + } + + @Override + public Flare copy() { + return new Flare(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/Jolt.java b/Mage.Sets/src/mage/sets/mirage/Jolt.java new file mode 100644 index 00000000000..820ea3ba0e0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/Jolt.java @@ -0,0 +1,78 @@ +/* + * 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; +import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.MayTapOrUntapTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.TargetPermanent; + +/** + * + * @author fireshoes + */ +public class Jolt extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or land"); + + static { + filter.add(Predicates.or( + new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.CREATURE), + new CardTypePredicate(CardType.LAND))); + } + + public Jolt(UUID ownerId) { + super(ownerId, 70, "Jolt", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{U}"); + this.expansionSetCode = "MIR"; + + // You may tap or untap target artifact, creature, or land. + this.getSpellAbility().addEffect(new MayTapOrUntapTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); + + // Draw a card at the beginning of the next turn's upkeep. + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + } + + public Jolt(final Jolt card) { + super(card); + } + + @Override + public Jolt copy() { + return new Jolt(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/Taniwha.java b/Mage.Sets/src/mage/sets/mirage/Taniwha.java new file mode 100644 index 00000000000..fb71c293fe1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/Taniwha.java @@ -0,0 +1,108 @@ +/* + * 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; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.PhasingAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.filter.common.FilterLandPermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author fireshoes + */ +public class Taniwha extends CardImpl { + + public Taniwha(UUID ownerId) { + super(ownerId, 95, "Taniwha", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{U}"); + this.expansionSetCode = "MIR"; + this.supertype.add("Legendary"); + this.subtype.add("Serpent"); + this.power = new MageInt(7); + this.toughness = new MageInt(7); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Phasing + this.addAbility(PhasingAbility.getInstance()); + + // At the beginning of your upkeep, all lands you control phase out. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TaniwhaEffect(), TargetController.YOU, false)); + } + + public Taniwha(final Taniwha card) { + super(card); + } + + @Override + public Taniwha copy() { + return new Taniwha(this); + } +} + +class TaniwhaEffect extends OneShotEffect { + + public TaniwhaEffect() { + super(Outcome.Detriment); + this.staticText = "all lands you control phase out"; + } + + public TaniwhaEffect(final TaniwhaEffect effect) { + super(effect); + } + + @Override + public TaniwhaEffect copy() { + return new TaniwhaEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterLandPermanent(), controller.getId(), game)) { + permanent.phaseOut(game); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/nemesis/TricksterMage.java b/Mage.Sets/src/mage/sets/nemesis/TricksterMage.java new file mode 100644 index 00000000000..771161cf3c7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/nemesis/TricksterMage.java @@ -0,0 +1,86 @@ +/* + * 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.nemesis; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.MayTapOrUntapTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.TargetPermanent; + +/** + * + * @author fireshoes + */ +public class TricksterMage extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or land"); + + static { + filter.add(Predicates.or( + new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.CREATURE), + new CardTypePredicate(CardType.LAND))); + } + + public TricksterMage(UUID ownerId) { + super(ownerId, 49, "Trickster Mage", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{U}"); + this.expansionSetCode = "NMS"; + this.subtype.add("Human"); + this.subtype.add("Spellshaper"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {U}, {tap}, Discard a card: You may tap or untap target artifact, creature, or land. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MayTapOrUntapTargetEffect(), new ManaCostsImpl("{U}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new DiscardCardCost()); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + } + + public TricksterMage(final TricksterMage card) { + super(card); + } + + @Override + public TricksterMage copy() { + return new TricksterMage(this); + } +} diff --git a/Mage.Sets/src/mage/sets/prophecy/Flameshot.java b/Mage.Sets/src/mage/sets/prophecy/Flameshot.java new file mode 100644 index 00000000000..b4ff94e68b9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/prophecy/Flameshot.java @@ -0,0 +1,74 @@ +/* + * 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.prophecy; + +import java.util.UUID; +import mage.abilities.costs.AlternativeCostSourceAbility; +import mage.abilities.costs.common.DiscardTargetCost; +import mage.abilities.effects.common.DamageMultiEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetCardInHand; +import mage.target.common.TargetCreaturePermanentAmount; + +/** + * + * @author fireshoes + */ +public class Flameshot extends CardImpl { + + private static final FilterCard filter = new FilterCard("a Mountain card"); + + static { + filter.add(new SubtypePredicate("Mountain")); + } + + public Flameshot(UUID ownerId) { + super(ownerId, 90, "Flameshot", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{R}"); + this.expansionSetCode = "PCY"; + + // You may discard a Mountain card rather than pay Flameshot's mana cost. + this.addAbility(new AlternativeCostSourceAbility(new DiscardTargetCost(new TargetCardInHand(filter)))); + + // Flameshot deals 3 damage divided as you choose among one, two, or three target creatures. + this.getSpellAbility().addEffect(new DamageMultiEffect(3)); + this.getSpellAbility().addTarget(new TargetCreaturePermanentAmount(3)); + } + + public Flameshot(final Flameshot card) { + super(card); + } + + @Override + public Flameshot copy() { + return new Flameshot(this); + } +} diff --git a/Mage.Sets/src/mage/sets/revisededition/IslandFishJasconius.java b/Mage.Sets/src/mage/sets/revisededition/IslandFishJasconius.java new file mode 100644 index 00000000000..a3174bbcb7a --- /dev/null +++ b/Mage.Sets/src/mage/sets/revisededition/IslandFishJasconius.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.revisededition; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class IslandFishJasconius extends mage.sets.fourthedition.IslandFishJasconius { + + public IslandFishJasconius(UUID ownerId) { + super(ownerId); + this.cardNumber = 61; + this.expansionSetCode = "3ED"; + } + + public IslandFishJasconius(final IslandFishJasconius card) { + super(card); + } + + @Override + public IslandFishJasconius copy() { + return new IslandFishJasconius(this); + } +} diff --git a/Mage.Sets/src/mage/sets/scourge/SkirkVolcanist.java b/Mage.Sets/src/mage/sets/scourge/SkirkVolcanist.java new file mode 100644 index 00000000000..383c25f0006 --- /dev/null +++ b/Mage.Sets/src/mage/sets/scourge/SkirkVolcanist.java @@ -0,0 +1,84 @@ +/* + * 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.scourge; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.TurnedFaceUpSourceTriggeredAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageMultiEffect; +import mage.abilities.keyword.MorphAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetCreaturePermanentAmount; + +/** + * + * @author fireshoes + */ +public class SkirkVolcanist extends CardImpl { + + private static final FilterControlledLandPermanent filterSacrifice = new FilterControlledLandPermanent("two Mountains"); + + static { + filterSacrifice.add(new SubtypePredicate("Mountain")); + } + + public SkirkVolcanist(UUID ownerId) { + super(ownerId, 104, "Skirk Volcanist", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}"); + this.expansionSetCode = "SCG"; + this.subtype.add("Goblin"); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Morph-Sacrifice two Mountains. + this.addAbility(new MorphAbility(this, new SacrificeTargetCost(new TargetControlledPermanent(2,2, filterSacrifice, false)))); + + // When Skirk Volcanist is turned face up, it deals 3 damage divided as you choose among one, two, or three target creatures. + Effect effect = new DamageMultiEffect(3); + effect.setText("it deals 3 damage divided as you choose among one, two, or three target creatures"); + Ability ability = new TurnedFaceUpSourceTriggeredAbility(effect); + ability.addTarget(new TargetCreaturePermanentAmount(3)); + this.addAbility(ability); + } + + public SkirkVolcanist(final SkirkVolcanist card) { + super(card); + } + + @Override + public SkirkVolcanist copy() { + return new SkirkVolcanist(this); + } +} diff --git a/Mage.Sets/src/mage/sets/tempest/Stun.java b/Mage.Sets/src/mage/sets/tempest/Stun.java index 82cc6f5cb77..ecaa81eac69 100644 --- a/Mage.Sets/src/mage/sets/tempest/Stun.java +++ b/Mage.Sets/src/mage/sets/tempest/Stun.java @@ -28,9 +28,6 @@ package mage.sets.tempest; import java.util.UUID; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; - -import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; @@ -50,10 +47,8 @@ public class Stun extends CardImpl { this.expansionSetCode = "TMP"; // Target creature can't block this turn. - Effect effect = new CantBlockTargetEffect(Duration.EndOfTurn); - effect.setText("Target creature can't block this turn."); - this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().addEffect(new CantBlockTargetEffect(Duration.EndOfTurn)); // Draw a card. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); diff --git a/Mage.Sets/src/mage/sets/torment/BarbarianOutcast.java b/Mage.Sets/src/mage/sets/torment/BarbarianOutcast.java new file mode 100644 index 00000000000..0becdaa5ed7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/torment/BarbarianOutcast.java @@ -0,0 +1,77 @@ +/* + * 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 java.util.UUID; +import mage.MageInt; +import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.Filter; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author fireshoes + */ +public class BarbarianOutcast extends CardImpl { + + private static final FilterControlledLandPermanent filterControlledLand = new FilterControlledLandPermanent("a Swamp"); + + static { + filterControlledLand.add(new SubtypePredicate("Swamp")); + } + + public BarbarianOutcast(UUID ownerId) { + super(ownerId, 92, "Barbarian Outcast", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}"); + this.expansionSetCode = "TOR"; + this.subtype.add("Human"); + this.subtype.add("Barbarian"); + this.subtype.add("Beast"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When you control no Swamps, sacrifice Barbarian Outcast. + this.addAbility(new ControlsPermanentsControllerTriggeredAbility( + new FilterLandPermanent("Swamp", "no Swamps"), Filter.ComparisonType.Equal, 0, + new SacrificeSourceEffect())); + } + + public BarbarianOutcast(final BarbarianOutcast card) { + super(card); + } + + @Override + public BarbarianOutcast copy() { + return new BarbarianOutcast(this); + } +} diff --git a/Mage.Sets/src/mage/sets/torment/FlashOfDefiance.java b/Mage.Sets/src/mage/sets/torment/FlashOfDefiance.java new file mode 100644 index 00000000000..b537c088f8c --- /dev/null +++ b/Mage.Sets/src/mage/sets/torment/FlashOfDefiance.java @@ -0,0 +1,81 @@ +/* + * 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 java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.combat.CantBlockAllEffect; +import mage.abilities.keyword.FlashbackAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.TimingRule; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author fireshoes + */ +public class FlashOfDefiance extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("green creatures and white creatures"); + + static { + filter.add(Predicates.or( + new ColorPredicate(ObjectColor.WHITE), + new ColorPredicate(ObjectColor.GREEN))); + } + + public FlashOfDefiance(UUID ownerId) { + super(ownerId, 99, "Flash of Defiance", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{R}"); + this.expansionSetCode = "TOR"; + + // Green creatures and white creatures can't block this turn. + this.getSpellAbility().addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn)); + + // Flashback-{1}{R}, Pay 3 life. + Ability ability = new FlashbackAbility(new ManaCostsImpl("{1}{R}"), TimingRule.SORCERY); + ability.addCost(new PayLifeCost(3)); + this.addAbility(ability); + } + + public FlashOfDefiance(final FlashOfDefiance card) { + super(card); + } + + @Override + public FlashOfDefiance copy() { + return new FlashOfDefiance(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/CovetousDragon.java b/Mage.Sets/src/mage/sets/urzasdestiny/CovetousDragon.java new file mode 100644 index 00000000000..03d130e3e28 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzasdestiny/CovetousDragon.java @@ -0,0 +1,71 @@ +/* + * 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.urzasdestiny; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.Filter; +import mage.filter.common.FilterArtifactPermanent; + +/** + * + * @author fireshoes + */ +public class CovetousDragon extends CardImpl { + + public CovetousDragon(UUID ownerId) { + super(ownerId, 80, "Covetous Dragon", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{R}"); + this.expansionSetCode = "UDS"; + this.subtype.add("Dragon"); + this.power = new MageInt(6); + this.toughness = new MageInt(5); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When you control no artifacts, sacrifice Covetous Dragon. + this.addAbility(new ControlsPermanentsControllerTriggeredAbility( + new FilterArtifactPermanent(), Filter.ComparisonType.Equal, 0, + new SacrificeSourceEffect())); + } + + public CovetousDragon(final CovetousDragon card) { + super(card); + } + + @Override + public CovetousDragon copy() { + return new CovetousDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/TetheredGriffin.java b/Mage.Sets/src/mage/sets/urzasdestiny/TetheredGriffin.java new file mode 100644 index 00000000000..85da8fd853b --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzasdestiny/TetheredGriffin.java @@ -0,0 +1,71 @@ +/* + * 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.urzasdestiny; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.Filter; +import mage.filter.common.FilterEnchantmentPermanent; + +/** + * + * @author fireshoes + */ +public class TetheredGriffin extends CardImpl { + + public TetheredGriffin(UUID ownerId) { + super(ownerId, 21, "Tethered Griffin", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{W}"); + this.expansionSetCode = "UDS"; + this.subtype.add("Griffin"); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When you control no enchantments, sacrifice Tethered Griffin. + this.addAbility(new ControlsPermanentsControllerTriggeredAbility( + new FilterEnchantmentPermanent(), Filter.ComparisonType.Equal, 0, + new SacrificeSourceEffect())); + } + + public TetheredGriffin(final TetheredGriffin card) { + super(card); + } + + @Override + public TetheredGriffin copy() { + return new TetheredGriffin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/visions/EmeraldCharm.java b/Mage.Sets/src/mage/sets/visions/EmeraldCharm.java new file mode 100644 index 00000000000..9897e61e069 --- /dev/null +++ b/Mage.Sets/src/mage/sets/visions/EmeraldCharm.java @@ -0,0 +1,88 @@ +/* + * 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.visions; + +import java.util.UUID; +import mage.abilities.Mode; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.LoseAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.common.FilterEnchantmentPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; +import mage.target.common.TargetEnchantmentPermanent; + +/** + * + * @author fireshoes + */ +public class EmeraldCharm extends CardImpl { + + private static final FilterEnchantmentPermanent filter = new FilterEnchantmentPermanent("non-Aura enchantment"); + + static { + filter.add(Predicates.not(new SubtypePredicate("Aura"))); + } + + public EmeraldCharm(UUID ownerId) { + super(ownerId, 56, "Emerald Charm", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{G}"); + this.expansionSetCode = "VIS"; + + // Choose one - Untap target permanent; + this.getSpellAbility().addEffect(new UntapTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent()); + + // or destroy target non-Aura enchantment; + Mode mode = new Mode(); + mode.getEffects().add(new DestroyTargetEffect()); + mode.getTargets().add(new TargetEnchantmentPermanent(filter)); + this.getSpellAbility().addMode(mode); + + // or target creature loses flying until end of turn. + mode = new Mode(); + mode.getEffects().add(new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); + mode.getTargets().add(new TargetCreaturePermanent()); + this.getSpellAbility().addMode(mode); + } + + public EmeraldCharm(final EmeraldCharm card) { + super(card); + } + + @Override + public EmeraldCharm copy() { + return new EmeraldCharm(this); + } +} diff --git a/Mage.Sets/src/mage/sets/visions/MagmaMine.java b/Mage.Sets/src/mage/sets/visions/MagmaMine.java new file mode 100644 index 00000000000..aac5b04b731 --- /dev/null +++ b/Mage.Sets/src/mage/sets/visions/MagmaMine.java @@ -0,0 +1,76 @@ +/* + * 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.visions; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.common.CountersCount; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author fireshoes + */ +public class MagmaMine extends CardImpl { + + public MagmaMine(UUID ownerId) { + super(ownerId, 149, "Magma Mine", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); + this.expansionSetCode = "VIS"; + + // {4}: Put a pressure counter on Magma Mine. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, + new AddCountersSourceEffect(CounterType.PRESSURE.createInstance(), true), + new GenericManaCost(4))); + + // {tap}, Sacrifice Magma Mine: Magma Mine deals damage equal to the number of pressure counters on it to target creature or player. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new CountersCount(CounterType.PRESSURE)), new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + } + + public MagmaMine(final MagmaMine card) { + super(card); + } + + @Override + public MagmaMine copy() { + return new MagmaMine(this); + } +} diff --git a/Mage.Sets/src/mage/sets/weatherlight/Downdraft.java b/Mage.Sets/src/mage/sets/weatherlight/Downdraft.java new file mode 100644 index 00000000000..0ec3c65aaf9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/weatherlight/Downdraft.java @@ -0,0 +1,82 @@ +/* + * 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.weatherlight; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.continuous.LoseAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class Downdraft extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with flying"); + + static { + filter.add(new AbilityPredicate(FlyingAbility.class)); + } + + public Downdraft(UUID ownerId) { + super(ownerId, 67, "Downdraft", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); + this.expansionSetCode = "WTH"; + + // {G}: Target creature loses flying until end of turn. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, + new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), + new ManaCostsImpl("{G}")); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // Sacrifice Downdraft: Downdraft deals 2 damage to each creature with flying. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(2, filter), new SacrificeSourceCost())); + } + + public Downdraft(final Downdraft card) { + super(card); + } + + @Override + public Downdraft copy() { + return new Downdraft(this); + } +} diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index e70d9748735..16b1a1bce1d 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -6708,10 +6708,10 @@ Dire Wolves|Ice Age|118|C|{2}{G}|Creature - Wolf|2|2|Dire Wolves has banding as Earthlore|Ice Age|119|C|{G}|Enchantment - Aura|||Enchant land you control$Tap enchanted land: Target blocking creature gets +1/+2 until end of turn. Activate this ability only if enchanted land is untapped.| Fear|Ice Age|12|C|{B}{B}|Enchantment - Aura|||Enchant creature (Target a creature as you cast this. This card enters the battlefield attached to that creature.)$Enchanted creature has fear. (It can't be blocked except by artifact creatures and/or black creatures.)| Elder Druid|Ice Age|120|R|{3}{G}|Creature - Elf Cleric Druid|2|2|{3}{G}, {tap}: You may tap or untap target artifact, creature, or land.| -Wiitigo|Ice Age|120|R|{3}{G}{G}{G}|Creature - Yeti|0|0|Wiitigo enters the battlefield with six +1/+1 counters on it.$At the beginning of your upkeep, put a +1/+1 counter on Wiitigo if it has blocked or been blocked since your last upkeep. Otherwise, remove a +1/+1 counter from it.| +Wiitigo|Ice Age|164|R|{3}{G}{G}{G}|Creature - Yeti|0|0|Wiitigo enters the battlefield with six +1/+1 counters on it.$At the beginning of your upkeep, put a +1/+1 counter on Wiitigo if it has blocked or been blocked since your last upkeep. Otherwise, remove a +1/+1 counter from it.| Essence Filter|Ice Age|121|C|{1}{G}{G}|Sorcery|||Destroy all enchantments or all nonwhite enchantments.| Fanatical Fever|Ice Age|122|U|{2}{G}{G}|Instant|||Target creature gets +3/+0 and gains trample until end of turn.| -Reclamation|Ice Age|122|R|{2}{G}{W}|Enchantment|||Black creatures can't attack unless their controller sacrifices a land for each black creature he or she controls that's attacking.| +Reclamation|Ice Age|378|R|{2}{G}{W}|Enchantment|||Black creatures can't attack unless their controller sacrifices a land for each black creature he or she controls that's attacking.| Folk of the Pines|Ice Age|123|C|{4}{G}|Creature - Dryad|2|5|{1}{G}: Folk of the Pines gets +1/+0 until end of turn.| Forbidden Lore|Ice Age|124|R|{2}{G}|Enchantment - Aura|||Enchant land$Enchanted land has "{tap}: Target creature gets +2/+1 until end of turn."| Forgotten Lore|Ice Age|125|U|{G}|Sorcery|||Target opponent chooses a card in your graveyard. You may pay {G}. If you do, repeat this process except that opponent can't choose a card already chosen for Forgotten Lore. Then put the last chosen card into your hand.| @@ -6731,7 +6731,7 @@ Hurricane|Ice Age|137|U|{X}{G}|Sorcery|||Hurricane deals X damage to each creatu Johtull Wurm|Ice Age|138|U|{5}{G}|Creature - Wurm|6|6|Whenever Johtull Wurm becomes blocked, it gets -2/-1 until end of turn for each creature blocking it beyond the first.| Juniper Order Druid|Ice Age|139|C|{2}{G}|Creature - Human Cleric Druid|1|1|{tap}: Untap target land.| Foul Familiar|Ice Age|14|C|{2}{B}|Creature - Spirit|3|1|Foul Familiar can't block.${B}, Pay 1 life: Return Foul Familiar to its owner's hand.| -Mind Warp|Ice Age|14|U|{X}{3}{B}|Sorcery|||Look at target player's hand and choose X cards from it. That player discards those cards.| +Mind Warp|Ice Age|36|U|{X}{3}{B}|Sorcery|||Look at target player's hand and choose X cards from it. That player discards those cards.| Lhurgoyf|Ice Age|140|R|{2}{G}{G}|Creature - Lhurgoyf|*|1+*|Lhurgoyf's power is equal to the number of creature cards in all graveyards and its toughness is equal to that number plus 1.| Lure|Ice Age|141|U|{1}{G}{G}|Enchantment - Aura|||Enchant creature$All creatures able to block enchanted creature do so.| Maddening Wind|Ice Age|142|U|{2}{G}|Enchantment - Aura|||Enchant creature$Cumulative upkeep {G} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$At the beginning of the upkeep of enchanted creature's controller, Maddening Wind deals 2 damage to that player.| @@ -6745,7 +6745,7 @@ Ritual of Subdual|Ice Age|149|R|{4}{G}{G}|Enchantment|||Cumulative upkeep {2} (This creature can't attack.)$Sacrifice Tinder Wall: Add {R}{R} to your mana pool.${R}, Sacrifice Tinder Wall: Tinder Wall deals 2 damage to target creature it's blocking.| Touch of Vitae|Ice Age|159|U|{2}{G}|Instant|||Until end of turn, target creature gains haste and "{0}: Untap this creature. Activate this ability only once."$Draw a card at the beginning of the next turn's upkeep.| Gaze of Pain|Ice Age|16|C|{1}{B}|Sorcery|||Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn.| -Warning|Ice Age|16|C|{W}|Instant|||Prevent all combat damage that would be dealt by target attacking creature this turn.| +Warning|Ice Age|279|C|{W}|Instant|||Prevent all combat damage that would be dealt by target attacking creature this turn.| Venomous Breath|Ice Age|161|U|{3}{G}|Instant|||Choose target creature. At end of combat, destroy all creatures that blocked or were blocked by it this turn.| Wall of Pine Needles|Ice Age|162|U|{3}{G}|Creature - Plant Wall|3|3|Defender (This creature can't attack.)${G}: Regenerate Wall of Pine Needles.| Whiteout|Ice Age|163|U|{1}{G}|Instant|||All creatures lose flying until end of turn.$Sacrifice a snow land: Return Whiteout from your graveyard to your hand.| @@ -6856,7 +6856,7 @@ Heal|Ice Age|254|C|{W}|Instant|||Prevent the next 1 damage that would be dealt t Hipparion|Ice Age|255|U|{1}{W}|Creature - Horse|1|3|Hipparion can't block creatures with power 3 or greater unless you pay {1}.| Kelsinko Ranger|Ice Age|257|C|{W}|Creature - Human|1|1|{1}{W}: Target green creature gains first strike until end of turn.| Kjeldoran Elite Guard|Ice Age|258|U|{3}{W}|Creature - Human Soldier|2|2|{tap}: Target creature gets +2/+2 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard. Activate this ability only during combat.| -Kjeldoran Guard|Ice Age|258|C|{1}{W}|Creature - Human Soldier|1|1|{tap}: Target creature gets +1/+1 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Guard. Activate this ability only during combat and only if defending player controls no snow lands.| +Kjeldoran Guard|Ice Age|259|C|{1}{W}|Creature - Human Soldier|1|1|{tap}: Target creature gets +1/+1 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Guard. Activate this ability only during combat and only if defending player controls no snow lands.| Knight of Stromgald|Ice Age|26|U|{B}{B}|Creature - Human Knight|2|1|Protection from white${B}: Knight of Stromgald gains first strike until end of turn.${B}{B}: Knight of Stromgald gets +1/+0 until end of turn.| Kjeldoran Knight|Ice Age|260|R|{W}{W}|Creature - Human Knight|1|1|Banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)${1}{W}: Kjeldoran Knight gets +1/+0 until end of turn.${W}{W}: Kjeldoran Knight gets +0/+2 until end of turn.| Kjeldoran Phalanx|Ice Age|261|R|{5}{W}|Creature - Human Soldier|2|5|First strike; banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)| @@ -6922,7 +6922,7 @@ Sunstone|Ice Age|316|U|{3}|Artifact|||{2}, Sacrifice a snow land: Prevent all co Time Bomb|Ice Age|317|R|{4}|Artifact|||At the beginning of your upkeep, put a time counter on Time Bomb.${1}, {tap}, Sacrifice Time Bomb: Time Bomb deals damage equal to the number of time counters on it to each creature and each player.| Urza's Bauble|Ice Age|318|U|{0}|Artifact|||{tap}, Sacrifice Urza's Bauble: Look at a card at random in target player's hand. You draw a card at the beginning of the next turn's upkeep.| Vexing Arcanix|Ice Age|319|R|{4}|Artifact|||{3}, {tap}: Target player names a card, then reveals the top card of his or her library. If it's the named card, the player puts it into his or her hand. Otherwise, the player puts it into his or her graveyard and Vexing Arcanix deals 2 damage to him or her.| -Land Cap|Ice Age|319|R||Land|||Land Cap doesn't untap during your untap step if it has a depletion counter on it.$At the beginning of your upkeep, remove a depletion counter from Land Cap.${tap}: Add {W} or {U} to your mana pool. Put a depletion counter on Land Cap.| +Land Cap|Ice Age|338|R||Land|||Land Cap doesn't untap during your untap step if it has a depletion counter on it.$At the beginning of your upkeep, remove a depletion counter from Land Cap.${tap}: Add {W} or {U} to your mana pool. Put a depletion counter on Land Cap.| Leshrac's Sigil|Ice Age|32|U|{B}{B}|Enchantment|||Whenever an opponent casts a green spell, you may pay {B}{B}. If you do, look at that player's hand and choose a card from it. The player discards that card.${B}{B}: Return Leshrac's Sigil to its owner's hand.| Vibrating Sphere|Ice Age|320|R|{4}|Artifact|||As long as it's your turn, creatures you control get +2/+0.$As long as it's not your turn, creatures you control get -0/-2.| Walking Wall|Ice Age|321|U|{4}|Artifact Creature - Wall|0|6|Defender${3}: Walking Wall gets +3/-1 until end of turn and can attack this turn as though it didn't have defender. Activate this ability only once each turn.| @@ -6933,24 +6933,24 @@ Zuran Orb|Ice Age|325|U|{0}|Artifact|||Sacrifice a land: You gain 2 life.| Adarkar Wastes|Ice Age|326|R||Land|||{tap}: Add {1} to your mana pool.${tap}: Add {W} or {U} to your mana pool. Adarkar Wastes deals 1 damage to you.| Brushland|Ice Age|327|R||Land|||{tap}: Add {1} to your mana pool.${tap}: Add {G} or {W} to your mana pool. Brushland deals 1 damage to you.| Forest|Ice Age|328|L||Basic Land - Forest|||G| -Forest|Ice Age|328|L||Basic Land - Forest|||G| -Forest|Ice Age|328|L||Basic Land - Forest|||G| +Forest|Ice Age|329|L||Basic Land - Forest|||G| +Forest|Ice Age|330|L||Basic Land - Forest|||G| Lim-Dul's Cohort|Ice Age|33|C|{1}{B}{B}|Creature - Zombie|2|3|Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn.| Glacial Chasm|Ice Age|331|U||Land|||Cumulative upkeep-Pay 2 life. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$When Glacial Chasm enters the battlefield, sacrifice a land.$Creatures you control can't attack.$Prevent all damage that would be dealt to you.| Halls of Mist|Ice Age|332|R||Land|||Cumulative upkeep {1} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$Creatures that attacked during their controller's last turn can't attack.| Ice Floe|Ice Age|333|U||Land|||You may choose not to untap Ice Floe during your untap step.${tap}: Tap target creature without flying that's attacking you. It doesn't untap during its controller's untap step for as long as Ice Floe remains tapped.| Island|Ice Age|334|L||Basic Land - Island|||U| -Island|Ice Age|334|L||Basic Land - Island|||U| -Island|Ice Age|334|L||Basic Land - Island|||U| +Island|Ice Age|335|L||Basic Land - Island|||U| +Island|Ice Age|336|L||Basic Land - Island|||U| Karplusan Forest|Ice Age|337|R||Land|||{tap}: Add {1} to your mana pool.${tap}: Add {R} or {G} to your mana pool. Karplusan Forest deals 1 damage to you.| Lava Tubes|Ice Age|339|R||Land|||Lava Tubes doesn't untap during your untap step if it has a depletion counter on it.$At the beginning of your upkeep, remove a depletion counter from Lava Tubes.${tap}: Add {B} or {R} to your mana pool. Put a depletion counter on Lava Tubes.| Lim-Dul's Hex|Ice Age|34|U|{1}{B}|Enchantment|||At the beginning of your upkeep, for each player, Lim-Dûl's Hex deals 1 damage to that player unless he or she pays {B} or {3}.| Mountain|Ice Age|340|L||Basic Land - Mountain|||R| -Mountain|Ice Age|340|L||Basic Land - Mountain|||R| -Mountain|Ice Age|340|L||Basic Land - Mountain|||R| -Plains|Ice Age|343|L||Basic Land - Plains|||W| -Plains|Ice Age|343|L||Basic Land - Plains|||W| +Mountain|Ice Age|341|L||Basic Land - Mountain|||R| +Mountain|Ice Age|342|L||Basic Land - Mountain|||R| Plains|Ice Age|343|L||Basic Land - Plains|||W| +Plains|Ice Age|344|L||Basic Land - Plains|||W| +Plains|Ice Age|345|L||Basic Land - Plains|||W| River Delta|Ice Age|346|R||Land|||River Delta doesn't untap during your untap step if it has a depletion counter on it.$At the beginning of your upkeep, remove a depletion counter from River Delta.${tap}: Add {U} or {B} to your mana pool. Put a depletion counter on River Delta.| Snow-Covered Forest|Ice Age|347|L||Basic Snow Land - Forest|||G| Snow-Covered Island|Ice Age|348|L||Basic Snow Land - Island|||U| @@ -6958,9 +6958,9 @@ Snow-Covered Mountain|Ice Age|349|L||Basic Snow Land - Mountain|||R| Mind Ravel|Ice Age|35|C|{2}{B}|Sorcery|||Target player discards a card.$Draw a card at the beginning of the next turn's upkeep.| Snow-Covered Plains|Ice Age|350|L||Basic Snow Land - Plains|||W| Snow-Covered Swamp|Ice Age|351|L||Basic Snow Land - Swamp|||B| -Swamp|Ice Age|351|L||Basic Land - Swamp|||B| -Swamp|Ice Age|351|L||Basic Land - Swamp|||B| -Swamp|Ice Age|351|L||Basic Land - Swamp|||B| +Swamp|Ice Age|353|L||Basic Land - Swamp|||B| +Swamp|Ice Age|354|L||Basic Land - Swamp|||B| +Swamp|Ice Age|355|L||Basic Land - Swamp|||B| Sulfurous Springs|Ice Age|352|R||Land|||{tap}: Add {1} to your mana pool.${tap}: Add {B} or {R} to your mana pool. Sulfurous Springs deals 1 damage to you.| Timberline Ridge|Ice Age|356|R||Land|||Timberline Ridge doesn't untap during your untap step if it has a depletion counter on it.$At the beginning of your upkeep, remove a depletion counter from Timberline Ridge.${tap}: Add {R} or {G} to your mana pool. Put a depletion counter on Timberline Ridge.| Underground River|Ice Age|357|R||Land|||{tap}: Add {1} to your mana pool.${tap}: Add {U} or {B} to your mana pool. Underground River deals 1 damage to you.| @@ -6972,7 +6972,7 @@ Diabolic Vision|Ice Age|362|U|{U}{B}|Sorcery|||Look at the top five cards of you Earthlink|Ice Age|363|R|{3}{B}{R}{G}|Enchantment|||At the beginning of your upkeep, sacrifice Earthlink unless you pay {2}.$Whenever a creature dies, that creature's controller sacrifices a land.| Elemental Augury|Ice Age|364|R|{U}{B}{R}|Enchantment|||{3}: Look at the top three cards of target player's library, then put them back in any order.| Essence Vortex|Ice Age|365|U|{1}{U}{B}|Instant|||Destroy target creature unless its controller pays life equal to its toughness. A creature destroyed this way can't be regenerated.| -Justice|Ice Age|366|U|{2}{W}{W}|Enchantment|||At the beginning of your upkeep, sacrifice Justice unless you pay {W}{W}.$$Whenever a red creature or spell deals damage, Justice deals that much damage to that creature's or spell's controller.| +Justice|Ice Age|256|U|{2}{W}{W}|Enchantment|||At the beginning of your upkeep, sacrifice Justice unless you pay {W}{W}.$$Whenever a red creature or spell deals damage, Justice deals that much damage to that creature's or spell's controller.| Fiery Justice|Ice Age|366|R|{R}{G}{W}|Sorcery|||Fiery Justice deals 5 damage divided as you choose among any number of target creatures and/or players. Target opponent gains 5 life.| Fire Covenant|Ice Age|367|U|{1}{B}{R}|Instant|||As an additional cost to cast Fire Covenant, pay X life.$Fire Covenant deals X damage divided as you choose among any number of target creatures.| Flooded Woodlands|Ice Age|368|R|{2}{U}{B}|Enchantment|||Green creatures can't attack unless their controller sacrifices a land for each green creature he or she controls that's attacking.| @@ -6994,13 +6994,13 @@ Stormbind|Ice Age|382|R|{1}{R}{G}|Enchantment|||{2}, Discard a card at random: S Wings of Aesthir|Ice Age|383|U|{W}{U}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +1/+0 and has flying and first strike.| Minion of Tevesh Szat|Ice Age|39|R|{4}{B}{B}{B}|Creature - Demon Minion|4|4|At the beginning of your upkeep, Minion of Tevesh Szat deals 2 damage to you unless you pay {B}{B}.${tap}: Target creature gets +3/-2 until end of turn.| Burnt Offering|Ice Age|4|C|{B}|Instant|||As an additional cost to cast Burnt Offering, sacrifice a creature.$Add X mana in any combination of {B} and/or {R} to your mana pool, where X is the sacrificed creature's converted mana cost.| -Trailblazer|Ice Age|4|R|{2}{G}{G}|Instant|||Target creature is unblockable this turn.| +Trailblazer|Ice Age|160|R|{2}{G}{G}|Instant|||Target creature is unblockable this turn.| Mole Worms|Ice Age|40|U|{2}{B}|Creature - Worm|1|1|You may choose not to untap Mole Worms during your untap step.${tap}: Tap target land. It doesn't untap during its controller's untap step for as long as Mole Worms remains tapped.| Moor Fiend|Ice Age|41|C|{3}{B}|Creature - Horror|3|3|Swampwalk| Necropotence|Ice Age|42|R|{B}{B}{B}|Enchantment|||Skip your draw step.$Whenever you discard a card, exile that card from your graveyard.$Pay 1 life: Exile the top card of your library face down. Put that card into your hand at the beginning of your next end step.| Norritt|Ice Age|43|C|{3}{B}|Creature - Imp|1|1|{tap}: Untap target blue creature.${tap}: Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. If it doesn't, destroy it at the beginning of the next end step. Activate this ability only before attackers are declared.| Oath of Lim-Dul|Ice Age|44|R|{3}{B}|Enchantment|||Whenever you lose life, for each 1 life you lost, sacrifice a permanent other than Oath of Lim-Dûl unless you discard a card. (Damage dealt to you causes you to lose life.)${B}{B}: Draw a card.| -Melee|Ice Age|44|U|{4}{R}|Instant|||Cast Melee only during your turn and only during combat before blockers are declared.$You choose which creatures block this combat and how those creatures block.$Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat.| +Melee|Ice Age|200|U|{4}{R}|Instant|||Cast Melee only during your turn and only during combat before blockers are declared.$You choose which creatures block this combat and how those creatures block.$Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat.| Pestilence Rats|Ice Age|45|C|{2}{B}|Creature - Rat|*|3|Pestilence Rats's power is equal to the number of other Rats on the battlefield. (For example, as long as there are two other Rats on the battlefield, Pestilence Rats's power and toughness are 2/3.)| Pox|Ice Age|46|R|{B}{B}{B}|Sorcery|||Each player loses a third of his or her life, then discards a third of the cards in his or her hand, then sacrifices a third of the creatures he or she controls, then sacrifices a third of the lands he or she controls. Round up each time.| Seizures|Ice Age|47|C|{1}{B}|Enchantment - Aura|||Enchant creature$Whenever enchanted creature becomes tapped, Seizures deals 3 damage to that creature's controller unless that player pays {3}.| @@ -7028,7 +7028,7 @@ Dreams of the Dead|Ice Age|66|U|{3}{U}|Enchantment|||{1}{U}: Return target white Enervate|Ice Age|67|C|{1}{U}|Instant|||Tap target artifact, creature, or land.$$Draw a card at the beginning of the next turn's upkeep.| Errant Minion|Ice Age|68|C|{2}{U}|Enchantment - Aura|||Enchant creature$At the beginning of the upkeep of enchanted creature's controller, that player may pay any amount of mana. Errant Minion deals 2 damage to that player. Prevent X of that damage, where X is the amount of mana that player paid this way.| Essence Flare|Ice Age|69|C|{U}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +2/+0.$At the beginning of the upkeep of enchanted creature's controller, put a -0/-1 counter on that creature.| -Flare|Ice Age|69|C|{2}{R}|Instant|||Flare deals 1 damage to target creature or player.$$Draw a card at the beginning of the next turn's upkeep.| +Flare|Ice Age|185|C|{2}{R}|Instant|||Flare deals 1 damage to target creature or player.$$Draw a card at the beginning of the next turn's upkeep.| Dark Banishing|Ice Age|7|C|{2}{B}|Instant|||Destroy target nonblack creature. It can't be regenerated.| Force Void|Ice Age|70|U|{2}{U}|Instant|||Counter target spell unless its controller pays {1}.$$Draw a card at the beginning of the next turn's upkeep.| Glacial Wall|Ice Age|71|U|{2}{U}|Creature - Wall|0|7|Defender (This creature can't attack.)| @@ -7040,7 +7040,7 @@ Illusionary Presence|Ice Age|76|R|{1}{U}{U}|Creature - Illusion|2|2|Cumulative u Tor Giant|Ice Age|76|C|{3}{R}|Creature - Giant|3|3|| Illusionary Terrain|Ice Age|77|U|{U}{U}|Enchantment|||Cumulative upkeep {2} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$As Illusionary Terrain enters the battlefield, choose two basic land types.$Basic lands of the first chosen type are the second chosen type.| Illusionary Wall|Ice Age|78|C|{4}{U}|Creature - Illusion Wall|7|4|Defender, flying, first strike$Cumulative upkeep {U} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)| -Aggression|Ice Age|78|U|{2}{R}|Enchantment - Aura|||Enchant non-Wall creature$Enchanted creature has first strike and trample.$At the beginning of the end step of enchanted creature's controller, destroy that creature if it didn't attack this turn.| +Aggression|Ice Age|169|U|{2}{R}|Enchantment - Aura|||Enchant non-Wall creature$Enchanted creature has first strike and trample.$At the beginning of the end step of enchanted creature's controller, destroy that creature if it didn't attack this turn.| Illusions of Grandeur|Ice Age|79|R|{3}{U}|Enchantment|||Cumulative upkeep {2} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$When Illusions of Grandeur enters the battlefield, you gain 20 life.$When Illusions of Grandeur leaves the battlefield, you lose 20 life.| Dark Ritual|Ice Age|8|C|{B}|Instant|||Add {B}{B}{B} to your mana pool.| Infuse|Ice Age|80|C|{2}{U}|Instant|||Untap target artifact, creature, or land.$$Draw a card at the beginning of the next turn's upkeep.| @@ -7054,15 +7054,15 @@ Mystic Remora|Ice Age|87|C|{U}|Enchantment|||Cumulative upkeep {1} (At the be Phantasmal Mount|Ice Age|88|U|{1}{U}|Creature - Illusion Horse|1|1|Flying${tap}: Target creature you control with toughness 2 or less gets +1/+1 and gains flying until end of turn. When Phantasmal Mount leaves the battlefield this turn, sacrifice that creature. When the creature leaves the battlefield this turn, sacrifice Phantasmal Mount.| Polar Kraken|Ice Age|89|R|{8}{U}{U}{U}|Creature - Kraken|11|11|Trample$Polar Kraken enters the battlefield tapped.$Cumulative upkeep-Sacrifice a land. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)| Demonic Consultation|Ice Age|9|U|{B}|Instant|||Name a card. Exile the top six cards of your library, then reveal cards from the top of your library until you reveal the named card. Put that card into your hand and exile all other cards revealed this way.| -Formation|Ice Age|9|R|{1}{W}|Instant|||Target creature gains banding until end of turn. (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding a player controls are blocking or being blocked by a creature, that player divides that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)$Draw a card at the beginning of the next turn's upkeep.| +Formation|Ice Age|249|R|{1}{W}|Instant|||Target creature gains banding until end of turn. (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding a player controls are blocking or being blocked by a creature, that player divides that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)$Draw a card at the beginning of the next turn's upkeep.| Portent|Ice Age|90|C|{U}|Sorcery|||Look at the top three cards of target player's library, then put them back in any order. You may have that player shuffle his or her library.$Draw a card at the beginning of the next turn's upkeep.| Power Sink|Ice Age|91|C|{X}{U}|Instant|||Counter target spell unless its controller pays {X}. If he or she doesn't, that player taps all lands with mana abilities he or she controls and empties his or her mana pool.| -Blizzard|Ice Age|91|R|{G}{G}|Enchantment|||Cast Blizzard only if you control a snow land.$Cumulative upkeep {2} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$Creatures with flying don't untap during their controllers' untap steps.| +Blizzard|Ice Age|115|R|{G}{G}|Enchantment|||Cast Blizzard only if you control a snow land.$Cumulative upkeep {2} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$Creatures with flying don't untap during their controllers' untap steps.| Ray of Command|Ice Age|92|C|{3}{U}|Instant|||Untap target creature an opponent controls and gain control of it until end of turn. That creature gains haste until end of turn. When you lose control of the creature, tap it.| Ray of Erasure|Ice Age|93|C|{U}|Instant|||Target player puts the top card of his or her library into his or her graveyard.$Draw a card at the beginning of the next turn's upkeep.| Reality Twist|Ice Age|94|R|{U}{U}{U}|Enchantment|||Cumulative upkeep {1}{U}{U} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)$If tapped for mana, Plains produce {R}, Swamps produce {G}, Mountains produce {W}, and Forests produce {B} instead of any other type.| Sea Spirit|Ice Age|95|U|{4}{U}|Creature - Elemental Spirit|2|3|{U}: Sea Spirit gets +1/+0 until end of turn.| -Rally|Ice Age|95|C|{W}{W}|Instant|||Blocking creatures get +1/+1 until end of turn.| +Rally|Ice Age|272|C|{W}{W}|Instant|||Blocking creatures get +1/+1 until end of turn.| Shyft|Ice Age|96|R|{4}{U}|Creature - Shapeshifter|4|2|At the beginning of your upkeep, you may have Shyft become the color or colors of your choice. (This effect lasts indefinitely.)| Sibilant Spirit|Ice Age|97|R|{5}{U}|Creature - Spirit|5|6|Flying$Whenever Sibilant Spirit attacks, defending player may draw a card.| Silver Erne|Ice Age|98|U|{3}{U}|Creature - Bird|2|2|Flying, trample|