From 692c7d28120ea4f4804c0d42f1b04f173f709f63 Mon Sep 17 00:00:00 2001 From: fireshoes Date: Wed, 25 Nov 2015 01:07:43 -0600 Subject: [PATCH] Added some POR cards and a few misc cards. Fixed POR collector's numbers. --- .../src/mage/sets/coldsnap/Jokulmorder.java | 126 ++++++++ .../mage/sets/fourthedition/AmrouKithkin.java | 52 ++++ .../src/mage/sets/ftvdragons/EbonDragon.java | 74 +++++ .../src/mage/sets/legends/AmrouKithkin.java | 73 +++++ .../mage/sets/magic2011/LilianasSpecter.java | 5 - .../sets/masterseditionii/FireDragon.java | 52 ++++ .../sets/masterseditionii/RoyalTrooper.java | 54 ++++ .../sets/masterseditioniii/AmrouKithkin.java | 52 ++++ .../sets/masterseditioniv/DakmorPlague.java | 52 ++++ .../sets/masterseditioniv/DreadReaper.java | 52 ++++ .../sets/masterseditioniv/EbonDragon.java | 52 ++++ .../masterseditioniv/EliteCatWarrior.java | 104 +++---- .../mage/sets/masterseditioniv/SoulShred.java | 72 +++++ .../masterseditioniv/ThingFromTheDeep.java | 76 +++++ .../sets/mercadianmasques/SpectersWail.java | 56 ++++ .../mage/sets/mirrodin/ViridianLongbow.java | 77 +++++ .../portal/{Anaconda.java => Anaconda1.java} | 10 +- Mage.Sets/src/mage/sets/portal/Anaconda2.java | 52 ++++ .../sets/portal/{Blaze.java => Blaze1.java} | 10 +- Mage.Sets/src/mage/sets/portal/Blaze2.java | 52 ++++ .../src/mage/sets/portal/BreathOfLife.java | 104 +++---- .../src/mage/sets/portal/BurningCloak.java | 66 +++++ .../src/mage/sets/portal/ChargingBandits.java | 68 +++++ .../src/mage/sets/portal/CloakOfFeathers.java | 66 +++++ .../src/mage/sets/portal/CravenKnight.java | 63 ++++ .../src/mage/sets/portal/DreadReaper.java | 52 ++++ .../src/mage/sets/portal/EbonDragon.java | 52 ++++ ...eCatWarrior.java => EliteCatWarrior1.java} | 10 +- .../mage/sets/portal/EliteCatWarrior2.java | 51 ++++ .../src/mage/sets/portal/Exhaustion.java | 104 +++---- .../src/mage/sets/portal/FinalStrike.java | 70 +++++ .../src/mage/sets/portal/FireDragon.java | 83 ++++++ Mage.Sets/src/mage/sets/portal/FireSnake.java | 67 +++++ .../src/mage/sets/portal/FleetFootedMonk.java | 74 +++++ Mage.Sets/src/mage/sets/portal/Fruition.java | 67 +++++ .../{HandOfDeath.java => HandOfDeath1.java} | 104 +++---- .../src/mage/sets/portal/HandOfDeath2.java | 52 ++++ .../src/mage/sets/portal/MindKnives.java | 60 ++++ Mage.Sets/src/mage/sets/portal/Mobilize.java | 61 ++++ ...trousGrowth.java => MonstrousGrowth1.java} | 10 +- .../mage/sets/portal/MonstrousGrowth2.java | 52 ++++ .../src/mage/sets/portal/NoxiousToad.java | 64 ++++ Mage.Sets/src/mage/sets/portal/Omen.java | 62 ++++ .../{RagingGoblin.java => RagingGoblin1.java} | 10 +- .../src/mage/sets/portal/RagingGoblin2.java | 52 ++++ .../src/mage/sets/portal/RenewingDawn.java | 75 +++++ .../src/mage/sets/portal/SacredKnight.java | 76 +++++ .../src/mage/sets/portal/ScorchingSpear.java | 52 ++++ .../src/mage/sets/portal/SerpentAssassin.java | 78 +++++ Mage.Sets/src/mage/sets/portal/SoulShred.java | 52 ++++ .../mage/sets/portal/SpiritualGuardian.java | 63 ++++ .../src/mage/sets/portal/Steadfastness.java | 52 ++++ .../mage/sets/portal/ThingFromTheDeep.java | 52 ++++ .../src/mage/sets/portal/ThunderingWurm.java | 68 +++++ .../src/mage/sets/portal/UndyingBeast.java | 97 ++++++ .../src/mage/sets/portal/ValorousCharge.java | 68 +++++ .../src/mage/sets/portal/VampiricFeast.java | 68 +++++ .../src/mage/sets/portal/VampiricTouch.java | 67 +++++ .../src/mage/sets/portal/WarriorsCharge1.java | 59 ++++ .../src/mage/sets/portal/WarriorsCharge2.java | 51 ++++ .../sets/portalsecondage/DakmorPlague.java | 52 ++++ .../mage/sets/portalsecondage/SylvanYeti.java | 52 ++++ .../mage/sets/starter1999/DakmorGhoul.java | 72 +++++ .../mage/sets/starter1999/DakmorPlague.java | 58 ++++ .../src/mage/sets/starter1999/DevoutMonk.java | 65 +++++ .../mage/sets/starter1999/DreadReaper.java | 67 +++++ .../mage/sets/starter1999/RoyalTrooper.java | 68 +++++ .../mage/sets/starter1999/ScorchingSpear.java | 60 ++++ .../sets/starter1999/ShriekingSpecter.java | 68 +++++ .../mage/sets/starter1999/Steadfastness.java | 59 ++++ .../mage/sets/starter1999/StreamOfAcid.java | 75 +++++ .../src/mage/sets/starter1999/SylvanYeti.java | 68 +++++ .../mage/sets/visions/UrborgMindsucker.java | 71 +++++ .../mage/sets/weatherlight/FesteringEvil.java | 70 +++++ .../common/CardsInControllerHandCount.java | 72 ++--- Utils/mtg-cards-data.txt | 276 +++++++++--------- 76 files changed, 4496 insertions(+), 412 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/coldsnap/Jokulmorder.java create mode 100644 Mage.Sets/src/mage/sets/fourthedition/AmrouKithkin.java create mode 100644 Mage.Sets/src/mage/sets/ftvdragons/EbonDragon.java create mode 100644 Mage.Sets/src/mage/sets/legends/AmrouKithkin.java create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/FireDragon.java create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/RoyalTrooper.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniii/AmrouKithkin.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniv/DakmorPlague.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniv/DreadReaper.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniv/EbonDragon.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniv/SoulShred.java create mode 100644 Mage.Sets/src/mage/sets/masterseditioniv/ThingFromTheDeep.java create mode 100644 Mage.Sets/src/mage/sets/mercadianmasques/SpectersWail.java create mode 100644 Mage.Sets/src/mage/sets/mirrodin/ViridianLongbow.java rename Mage.Sets/src/mage/sets/portal/{Anaconda.java => Anaconda1.java} (89%) create mode 100644 Mage.Sets/src/mage/sets/portal/Anaconda2.java rename Mage.Sets/src/mage/sets/portal/{Blaze.java => Blaze1.java} (90%) create mode 100644 Mage.Sets/src/mage/sets/portal/Blaze2.java create mode 100644 Mage.Sets/src/mage/sets/portal/BurningCloak.java create mode 100644 Mage.Sets/src/mage/sets/portal/ChargingBandits.java create mode 100644 Mage.Sets/src/mage/sets/portal/CloakOfFeathers.java create mode 100644 Mage.Sets/src/mage/sets/portal/CravenKnight.java create mode 100644 Mage.Sets/src/mage/sets/portal/DreadReaper.java create mode 100644 Mage.Sets/src/mage/sets/portal/EbonDragon.java rename Mage.Sets/src/mage/sets/portal/{EliteCatWarrior.java => EliteCatWarrior1.java} (90%) create mode 100644 Mage.Sets/src/mage/sets/portal/EliteCatWarrior2.java create mode 100644 Mage.Sets/src/mage/sets/portal/FinalStrike.java create mode 100644 Mage.Sets/src/mage/sets/portal/FireDragon.java create mode 100644 Mage.Sets/src/mage/sets/portal/FireSnake.java create mode 100644 Mage.Sets/src/mage/sets/portal/FleetFootedMonk.java create mode 100644 Mage.Sets/src/mage/sets/portal/Fruition.java rename Mage.Sets/src/mage/sets/portal/{HandOfDeath.java => HandOfDeath1.java} (85%) create mode 100644 Mage.Sets/src/mage/sets/portal/HandOfDeath2.java create mode 100644 Mage.Sets/src/mage/sets/portal/MindKnives.java create mode 100644 Mage.Sets/src/mage/sets/portal/Mobilize.java rename Mage.Sets/src/mage/sets/portal/{MonstrousGrowth.java => MonstrousGrowth1.java} (87%) create mode 100644 Mage.Sets/src/mage/sets/portal/MonstrousGrowth2.java create mode 100644 Mage.Sets/src/mage/sets/portal/NoxiousToad.java create mode 100644 Mage.Sets/src/mage/sets/portal/Omen.java rename Mage.Sets/src/mage/sets/portal/{RagingGoblin.java => RagingGoblin1.java} (88%) create mode 100644 Mage.Sets/src/mage/sets/portal/RagingGoblin2.java create mode 100644 Mage.Sets/src/mage/sets/portal/RenewingDawn.java create mode 100644 Mage.Sets/src/mage/sets/portal/SacredKnight.java create mode 100644 Mage.Sets/src/mage/sets/portal/ScorchingSpear.java create mode 100644 Mage.Sets/src/mage/sets/portal/SerpentAssassin.java create mode 100644 Mage.Sets/src/mage/sets/portal/SoulShred.java create mode 100644 Mage.Sets/src/mage/sets/portal/SpiritualGuardian.java create mode 100644 Mage.Sets/src/mage/sets/portal/Steadfastness.java create mode 100644 Mage.Sets/src/mage/sets/portal/ThingFromTheDeep.java create mode 100644 Mage.Sets/src/mage/sets/portal/ThunderingWurm.java create mode 100644 Mage.Sets/src/mage/sets/portal/UndyingBeast.java create mode 100644 Mage.Sets/src/mage/sets/portal/ValorousCharge.java create mode 100644 Mage.Sets/src/mage/sets/portal/VampiricFeast.java create mode 100644 Mage.Sets/src/mage/sets/portal/VampiricTouch.java create mode 100644 Mage.Sets/src/mage/sets/portal/WarriorsCharge1.java create mode 100644 Mage.Sets/src/mage/sets/portal/WarriorsCharge2.java create mode 100644 Mage.Sets/src/mage/sets/portalsecondage/DakmorPlague.java create mode 100644 Mage.Sets/src/mage/sets/portalsecondage/SylvanYeti.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/DakmorGhoul.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/DakmorPlague.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/DevoutMonk.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/DreadReaper.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/RoyalTrooper.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/ScorchingSpear.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/ShriekingSpecter.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/Steadfastness.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/StreamOfAcid.java create mode 100644 Mage.Sets/src/mage/sets/starter1999/SylvanYeti.java create mode 100644 Mage.Sets/src/mage/sets/visions/UrborgMindsucker.java create mode 100644 Mage.Sets/src/mage/sets/weatherlight/FesteringEvil.java diff --git a/Mage.Sets/src/mage/sets/coldsnap/Jokulmorder.java b/Mage.Sets/src/mage/sets/coldsnap/Jokulmorder.java new file mode 100644 index 0000000000..f35509c7ac --- /dev/null +++ b/Mage.Sets/src/mage/sets/coldsnap/Jokulmorder.java @@ -0,0 +1,126 @@ +/* + * 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.coldsnap; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; +import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; +import mage.abilities.effects.common.UntapSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledLandPermanent; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author fireshoes + */ +public class Jokulmorder extends CardImpl { + + public Jokulmorder(UUID ownerId) { + super(ownerId, 37, "Jokulmorder", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{U}{U}{U}"); + this.expansionSetCode = "CSP"; + this.subtype.add("Leviathan"); + this.power = new MageInt(12); + this.toughness = new MageInt(12); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Jokulmorder enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // When Jokulmorder enters the battlefield, sacrifice it unless you sacrifice five lands. + Effect effect = new SacrificeSourceUnlessPaysEffect( + new SacrificeTargetCost(new TargetControlledPermanent(5, 5, new FilterControlledLandPermanent("five lands"), true))); + effect.setText("sacrifice it unless you sacrifice five lands"); + this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false)); + + // Jokulmorder doesn't untap during your untap step. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); + + // Whenever you play an Island, you may untap Jokulmorder. + this.addAbility(new JokulmorderTriggeredAbility()); + } + + public Jokulmorder(final Jokulmorder card) { + super(card); + } + + @Override + public Jokulmorder copy() { + return new Jokulmorder(this); + } +} + +class JokulmorderTriggeredAbility extends TriggeredAbilityImpl { + + JokulmorderTriggeredAbility() { + super(Zone.BATTLEFIELD, new UntapSourceEffect(), true); + } + + JokulmorderTriggeredAbility(JokulmorderTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.LAND_PLAYED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + Permanent land = game.getPermanent(event.getTargetId()); + return land.getSubtype().contains("Island") + && land.getControllerId().equals(this.controllerId); + } + + @Override + public JokulmorderTriggeredAbility copy() { + return new JokulmorderTriggeredAbility(this); + } + + @Override + public String getRule() { + return "When you play an Island, you may untap {this}"; + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/AmrouKithkin.java b/Mage.Sets/src/mage/sets/fourthedition/AmrouKithkin.java new file mode 100644 index 0000000000..f7ce1b9f3c --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/AmrouKithkin.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.fourthedition; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class AmrouKithkin extends mage.sets.legends.AmrouKithkin { + + public AmrouKithkin(UUID ownerId) { + super(ownerId); + this.cardNumber = 252; + this.expansionSetCode = "4ED"; + } + + public AmrouKithkin(final AmrouKithkin card) { + super(card); + } + + @Override + public AmrouKithkin copy() { + return new AmrouKithkin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ftvdragons/EbonDragon.java b/Mage.Sets/src/mage/sets/ftvdragons/EbonDragon.java new file mode 100644 index 0000000000..93abef1389 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ftvdragons/EbonDragon.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.ftvdragons; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class EbonDragon extends CardImpl { + + public EbonDragon(UUID ownerId) { + super(ownerId, 6, "Ebon Dragon", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); + this.expansionSetCode = "FVD"; + this.subtype.add("Dragon"); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Ebon Dragon enters the battlefield, you may have target opponent discard a card. + Effect effect = new DiscardTargetEffect(1, false); + effect.setText("you may have target opponent discard a card"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect, true); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + } + + public EbonDragon(final EbonDragon card) { + super(card); + } + + @Override + public EbonDragon copy() { + return new EbonDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/legends/AmrouKithkin.java b/Mage.Sets/src/mage/sets/legends/AmrouKithkin.java new file mode 100644 index 0000000000..9f57ddf621 --- /dev/null +++ b/Mage.Sets/src/mage/sets/legends/AmrouKithkin.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.legends; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleEvasionAbility; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.Filter; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.PowerPredicate; + +/** + * + * @author fireshoes + */ +public class AmrouKithkin extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures with power 3 or greater"); + + static { + filter.add(new PowerPredicate(Filter.ComparisonType.GreaterThan, 2)); + } + + public AmrouKithkin(UUID ownerId) { + super(ownerId, 172, "Amrou Kithkin", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{W}{W}"); + this.expansionSetCode = "LEG"; + this.subtype.add("Kithkin"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Amrou Kithkin can't be blocked by creatures with power 3 or greater. + this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield))); + } + + public AmrouKithkin(final AmrouKithkin card) { + super(card); + } + + @Override + public AmrouKithkin copy() { + return new AmrouKithkin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2011/LilianasSpecter.java b/Mage.Sets/src/mage/sets/magic2011/LilianasSpecter.java index 1e2498235d..01e0160452 100644 --- a/Mage.Sets/src/mage/sets/magic2011/LilianasSpecter.java +++ b/Mage.Sets/src/mage/sets/magic2011/LilianasSpecter.java @@ -30,18 +30,13 @@ package mage.sets.magic2011; import java.util.UUID; import mage.MageInt; -import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.CardType; -import mage.constants.Outcome; import mage.constants.Rarity; import mage.constants.TargetController; -import mage.game.Game; -import mage.players.Player; /** * diff --git a/Mage.Sets/src/mage/sets/masterseditionii/FireDragon.java b/Mage.Sets/src/mage/sets/masterseditionii/FireDragon.java new file mode 100644 index 0000000000..520c2fe590 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditionii/FireDragon.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 FireDragon extends mage.sets.portal.FireDragon { + + public FireDragon(UUID ownerId) { + super(ownerId); + this.cardNumber = 125; + this.expansionSetCode = "ME2"; + } + + public FireDragon(final FireDragon card) { + super(card); + } + + @Override + public FireDragon copy() { + return new FireDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditionii/RoyalTrooper.java b/Mage.Sets/src/mage/sets/masterseditionii/RoyalTrooper.java new file mode 100644 index 0000000000..4378fa74d2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditionii/RoyalTrooper.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.masterseditionii; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class RoyalTrooper extends mage.sets.starter1999.RoyalTrooper { + + public RoyalTrooper(UUID ownerId) { + super(ownerId); + this.cardNumber = 32; + this.expansionSetCode = "ME2"; + this.rarity = Rarity.COMMON; + } + + public RoyalTrooper(final RoyalTrooper card) { + super(card); + } + + @Override + public RoyalTrooper copy() { + return new RoyalTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniii/AmrouKithkin.java b/Mage.Sets/src/mage/sets/masterseditioniii/AmrouKithkin.java new file mode 100644 index 0000000000..4faa50a497 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniii/AmrouKithkin.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 AmrouKithkin extends mage.sets.legends.AmrouKithkin { + + public AmrouKithkin(UUID ownerId) { + super(ownerId); + this.cardNumber = 3; + this.expansionSetCode = "ME3"; + } + + public AmrouKithkin(final AmrouKithkin card) { + super(card); + } + + @Override + public AmrouKithkin copy() { + return new AmrouKithkin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniv/DakmorPlague.java b/Mage.Sets/src/mage/sets/masterseditioniv/DakmorPlague.java new file mode 100644 index 0000000000..27b3e2d2a1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniv/DakmorPlague.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.masterseditioniv; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class DakmorPlague extends mage.sets.starter1999.DakmorPlague { + + public DakmorPlague(UUID ownerId) { + super(ownerId); + this.cardNumber = 73; + this.expansionSetCode = "ME4"; + } + + public DakmorPlague(final DakmorPlague card) { + super(card); + } + + @Override + public DakmorPlague copy() { + return new DakmorPlague(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniv/DreadReaper.java b/Mage.Sets/src/mage/sets/masterseditioniv/DreadReaper.java new file mode 100644 index 0000000000..8802183add --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniv/DreadReaper.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.masterseditioniv; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class DreadReaper extends mage.sets.starter1999.DreadReaper { + + public DreadReaper(UUID ownerId) { + super(ownerId); + this.cardNumber = 78; + this.expansionSetCode = "ME4"; + } + + public DreadReaper(final DreadReaper card) { + super(card); + } + + @Override + public DreadReaper copy() { + return new DreadReaper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniv/EbonDragon.java b/Mage.Sets/src/mage/sets/masterseditioniv/EbonDragon.java new file mode 100644 index 0000000000..9836e47c57 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniv/EbonDragon.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.masterseditioniv; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class EbonDragon extends mage.sets.ftvdragons.EbonDragon { + + public EbonDragon(UUID ownerId) { + super(ownerId); + this.cardNumber = 80; + this.expansionSetCode = "ME4"; + } + + public EbonDragon(final EbonDragon card) { + super(card); + } + + @Override + public EbonDragon copy() { + return new EbonDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniv/EliteCatWarrior.java b/Mage.Sets/src/mage/sets/masterseditioniv/EliteCatWarrior.java index b0590a190b..44097685a2 100644 --- a/Mage.Sets/src/mage/sets/masterseditioniv/EliteCatWarrior.java +++ b/Mage.Sets/src/mage/sets/masterseditioniv/EliteCatWarrior.java @@ -1,52 +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.masterseditioniv; - -import java.util.UUID; - -/** - * - * @author LevelX2 - */ -public class EliteCatWarrior extends mage.sets.portal.EliteCatWarrior { - - public EliteCatWarrior(UUID ownerId) { - super(ownerId); - this.cardNumber = 151; - this.expansionSetCode = "ME4"; - } - - public EliteCatWarrior(final EliteCatWarrior card) { - super(card); - } - - @Override - public EliteCatWarrior copy() { - return new EliteCatWarrior(this); - } -} +/* + * 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.masterseditioniv; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class EliteCatWarrior extends mage.sets.portal.EliteCatWarrior1 { + + public EliteCatWarrior(UUID ownerId) { + super(ownerId); + this.cardNumber = 151; + this.expansionSetCode = "ME4"; + } + + public EliteCatWarrior(final EliteCatWarrior card) { + super(card); + } + + @Override + public EliteCatWarrior copy() { + return new EliteCatWarrior(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniv/SoulShred.java b/Mage.Sets/src/mage/sets/masterseditioniv/SoulShred.java new file mode 100644 index 0000000000..6f11348173 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniv/SoulShred.java @@ -0,0 +1,72 @@ +/* + * 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.masterseditioniv; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class SoulShred extends CardImpl { + + public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); + + static { + filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + } + + public SoulShred(UUID ownerId) { + super(ownerId, 98, "Soul Shred", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{B}{B}"); + this.expansionSetCode = "ME4"; + + // Soul Shred deals 3 damage to target nonblack creature. You gain 3 life. + this.getSpellAbility().addEffect(new DamageTargetEffect(3)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + this.getSpellAbility().addEffect(new GainLifeEffect(3)); + } + + public SoulShred(final SoulShred card) { + super(card); + } + + @Override + public SoulShred copy() { + return new SoulShred(this); + } +} diff --git a/Mage.Sets/src/mage/sets/masterseditioniv/ThingFromTheDeep.java b/Mage.Sets/src/mage/sets/masterseditioniv/ThingFromTheDeep.java new file mode 100644 index 0000000000..ccb0561ff8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/masterseditioniv/ThingFromTheDeep.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.masterseditioniv; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; +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; + +/** + * + * @author fireshoes + */ +public class ThingFromTheDeep extends CardImpl { + + private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("an Island"); + + static{ + filter.add(new SubtypePredicate("Island")); + } + + public ThingFromTheDeep(UUID ownerId) { + super(ownerId, 68, "Thing from the Deep", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{6}{U}{U}{U}"); + this.expansionSetCode = "ME4"; + this.subtype.add("Leviathan"); + this.power = new MageInt(9); + this.toughness = new MageInt(9); + + // Whenever Thing from the Deep attacks, sacrifice it unless you sacrifice an Island. + Effect effect = new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(new TargetControlledPermanent(filter))); + effect.setText("sacrifice it unless you sacrifice an Island"); + this.addAbility(new AttacksTriggeredAbility(effect, false)); + } + + public ThingFromTheDeep(final ThingFromTheDeep card) { + super(card); + } + + @Override + public ThingFromTheDeep copy() { + return new ThingFromTheDeep(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/SpectersWail.java b/Mage.Sets/src/mage/sets/mercadianmasques/SpectersWail.java new file mode 100644 index 0000000000..0ff06d0975 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mercadianmasques/SpectersWail.java @@ -0,0 +1,56 @@ +/* + * 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.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class SpectersWail extends CardImpl { + + public SpectersWail(UUID ownerId) { + super(ownerId, 164, "Specter's Wail", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{B}"); + this.expansionSetCode = "MMQ"; + + // Target player discards a card at random. + } + + public SpectersWail(final SpectersWail card) { + super(card); + } + + @Override + public SpectersWail copy() { + return new SpectersWail(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirrodin/ViridianLongbow.java b/Mage.Sets/src/mage/sets/mirrodin/ViridianLongbow.java new file mode 100644 index 0000000000..785498a061 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirrodin/ViridianLongbow.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.mirrodin; + +import java.util.UUID; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author fireshoes + */ +public class ViridianLongbow extends CardImpl { + + public ViridianLongbow(UUID ownerId) { + super(ownerId, 270, "Viridian Longbow", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); + this.expansionSetCode = "MRD"; + this.subtype.add("Equipment"); + + // Equipped creature has "{tap}: This creature deals 1 damage to target creature or player." + Effect effect = new DamageTargetEffect(1); + effect.setText("This creature deals 1 damage to target creature or player"); + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT))); + + // Equip {3} + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); + } + + public ViridianLongbow(final ViridianLongbow card) { + super(card); + } + + @java.lang.Override + public ViridianLongbow copy() { + return new ViridianLongbow(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Anaconda.java b/Mage.Sets/src/mage/sets/portal/Anaconda1.java similarity index 89% rename from Mage.Sets/src/mage/sets/portal/Anaconda.java rename to Mage.Sets/src/mage/sets/portal/Anaconda1.java index 75c7907736..1300b5f298 100644 --- a/Mage.Sets/src/mage/sets/portal/Anaconda.java +++ b/Mage.Sets/src/mage/sets/portal/Anaconda1.java @@ -33,20 +33,20 @@ import java.util.UUID; * * @author Plopman */ -public class Anaconda extends mage.sets.urzassaga.Anaconda { +public class Anaconda1 extends mage.sets.urzassaga.Anaconda { - public Anaconda(UUID ownerId) { + public Anaconda1(UUID ownerId) { super(ownerId); this.cardNumber = 81; this.expansionSetCode = "POR"; } - public Anaconda(final Anaconda card) { + public Anaconda1(final Anaconda1 card) { super(card); } @Override - public Anaconda copy() { - return new Anaconda(this); + public Anaconda1 copy() { + return new Anaconda1(this); } } diff --git a/Mage.Sets/src/mage/sets/portal/Anaconda2.java b/Mage.Sets/src/mage/sets/portal/Anaconda2.java new file mode 100644 index 0000000000..9e01a0beb4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/Anaconda2.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.portal; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Anaconda2 extends mage.sets.urzassaga.Anaconda { + + public Anaconda2(UUID ownerId) { + super(ownerId); + this.cardNumber = 82; + this.expansionSetCode = "POR"; + } + + public Anaconda2(final Anaconda2 card) { + super(card); + } + + @Override + public Anaconda2 copy() { + return new Anaconda2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Blaze.java b/Mage.Sets/src/mage/sets/portal/Blaze1.java similarity index 90% rename from Mage.Sets/src/mage/sets/portal/Blaze.java rename to Mage.Sets/src/mage/sets/portal/Blaze1.java index 29a3fae904..22f800c0d4 100644 --- a/Mage.Sets/src/mage/sets/portal/Blaze.java +++ b/Mage.Sets/src/mage/sets/portal/Blaze1.java @@ -33,20 +33,20 @@ import java.util.UUID; * * @author Plopman */ -public class Blaze extends mage.sets.planechase.Blaze { +public class Blaze1 extends mage.sets.planechase.Blaze { - public Blaze(UUID ownerId) { + public Blaze1(UUID ownerId) { super(ownerId); this.cardNumber = 122; this.expansionSetCode = "POR"; } - public Blaze(final Blaze card) { + public Blaze1(final Blaze1 card) { super(card); } @Override - public Blaze copy() { - return new Blaze(this); + public Blaze1 copy() { + return new Blaze1(this); } } diff --git a/Mage.Sets/src/mage/sets/portal/Blaze2.java b/Mage.Sets/src/mage/sets/portal/Blaze2.java new file mode 100644 index 0000000000..1ca245b852 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/Blaze2.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.portal; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Blaze2 extends mage.sets.planechase.Blaze { + + public Blaze2(UUID ownerId) { + super(ownerId); + this.cardNumber = 123; + this.expansionSetCode = "POR"; + } + + public Blaze2(final Blaze2 card) { + super(card); + } + + @Override + public Blaze2 copy() { + return new Blaze2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/BreathOfLife.java b/Mage.Sets/src/mage/sets/portal/BreathOfLife.java index abf9b5453e..2dc1454cf2 100644 --- a/Mage.Sets/src/mage/sets/portal/BreathOfLife.java +++ b/Mage.Sets/src/mage/sets/portal/BreathOfLife.java @@ -1,54 +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.portal; - +/* + * 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.portal; + import java.util.UUID; -import mage.constants.Rarity; - -/** - * - * @author dustinconrad - */ -public class BreathOfLife extends mage.sets.starter2000.BreathOfLife { - - public BreathOfLife(UUID ownerId) { - super(ownerId); - this.cardNumber = 135; +import mage.constants.Rarity; + +/** + * + * @author dustinconrad + */ +public class BreathOfLife extends mage.sets.starter2000.BreathOfLife { + + public BreathOfLife(UUID ownerId) { + super(ownerId); + this.cardNumber = 172; this.expansionSetCode = "POR"; - this.rarity = Rarity.COMMON; - } - - public BreathOfLife(final BreathOfLife card) { - super(card); - } - - @Override - public BreathOfLife copy() { - return new BreathOfLife(this); - } -} + this.rarity = Rarity.COMMON; + } + + public BreathOfLife(final BreathOfLife card) { + super(card); + } + + @Override + public BreathOfLife copy() { + return new BreathOfLife(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/BurningCloak.java b/Mage.Sets/src/mage/sets/portal/BurningCloak.java new file mode 100644 index 0000000000..497c66567d --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/BurningCloak.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.portal; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +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 BurningCloak extends CardImpl { + + public BurningCloak(UUID ownerId) { + super(ownerId, 125, "Burning Cloak", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{R}"); + this.expansionSetCode = "POR"; + + // Target creature gets +2/+0 until end of turn. Burning Cloak deals 2 damage to that creature. + this.getSpellAbility().addEffect(new BoostTargetEffect(2, 0, Duration.EndOfTurn)); + Effect effect = new DamageTargetEffect(2); + effect.setText("{this} deals 2 damage to that creature"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public BurningCloak(final BurningCloak card) { + super(card); + } + + @Override + public BurningCloak copy() { + return new BurningCloak(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/ChargingBandits.java b/Mage.Sets/src/mage/sets/portal/ChargingBandits.java new file mode 100644 index 0000000000..c688412ea0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/ChargingBandits.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class ChargingBandits extends CardImpl { + + public ChargingBandits(UUID ownerId) { + super(ownerId, 6, "Charging Bandits", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{B}"); + this.expansionSetCode = "POR"; + this.subtype.add("Human"); + this.subtype.add("Rogue"); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Whenever Charging Bandits attacks, it gets +2/+0 until end of turn. + Effect effect = new BoostSourceEffect(2, 0, Duration.EndOfTurn); + effect.setText("it gets +2/+2 until end of turn"); + this.addAbility(new AttacksTriggeredAbility(effect, false)); + } + + public ChargingBandits(final ChargingBandits card) { + super(card); + } + + @Override + public ChargingBandits copy() { + return new ChargingBandits(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/CloakOfFeathers.java b/Mage.Sets/src/mage/sets/portal/CloakOfFeathers.java new file mode 100644 index 0000000000..428646d676 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/CloakOfFeathers.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.portal; + +import java.util.UUID; +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 CloakOfFeathers extends CardImpl { + + public CloakOfFeathers(UUID ownerId) { + super(ownerId, 45, "Cloak of Feathers", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{U}"); + this.expansionSetCode = "POR"; + + // 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. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + public CloakOfFeathers(final CloakOfFeathers card) { + super(card); + } + + @Override + public CloakOfFeathers copy() { + return new CloakOfFeathers(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/CravenKnight.java b/Mage.Sets/src/mage/sets/portal/CravenKnight.java new file mode 100644 index 0000000000..e5e017e286 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/CravenKnight.java @@ -0,0 +1,63 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.CantBlockAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class CravenKnight extends CardImpl { + + public CravenKnight(UUID ownerId) { + super(ownerId, 7, "Craven Knight", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{B}"); + this.expansionSetCode = "POR"; + this.subtype.add("Human"); + this.subtype.add("Knight"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Craven Knight can't block. + this.addAbility(new CantBlockAbility()); + } + + public CravenKnight(final CravenKnight card) { + super(card); + } + + @Override + public CravenKnight copy() { + return new CravenKnight(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/DreadReaper.java b/Mage.Sets/src/mage/sets/portal/DreadReaper.java new file mode 100644 index 0000000000..d00d26c5bc --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/DreadReaper.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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class DreadReaper extends mage.sets.starter1999.DreadReaper { + + public DreadReaper(UUID ownerId) { + super(ownerId); + this.cardNumber = 11; + this.expansionSetCode = "POR"; + } + + public DreadReaper(final DreadReaper card) { + super(card); + } + + @Override + public DreadReaper copy() { + return new DreadReaper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/EbonDragon.java b/Mage.Sets/src/mage/sets/portal/EbonDragon.java new file mode 100644 index 0000000000..805a893078 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/EbonDragon.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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class EbonDragon extends mage.sets.ftvdragons.EbonDragon { + + public EbonDragon(UUID ownerId) { + super(ownerId); + this.cardNumber = 13; + this.expansionSetCode = "POR"; + } + + public EbonDragon(final EbonDragon card) { + super(card); + } + + @Override + public EbonDragon copy() { + return new EbonDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/EliteCatWarrior.java b/Mage.Sets/src/mage/sets/portal/EliteCatWarrior1.java similarity index 90% rename from Mage.Sets/src/mage/sets/portal/EliteCatWarrior.java rename to Mage.Sets/src/mage/sets/portal/EliteCatWarrior1.java index 3c484adc88..6f3c3fd876 100644 --- a/Mage.Sets/src/mage/sets/portal/EliteCatWarrior.java +++ b/Mage.Sets/src/mage/sets/portal/EliteCatWarrior1.java @@ -38,9 +38,9 @@ import mage.constants.Rarity; * * @author Plopman */ -public class EliteCatWarrior extends CardImpl { +public class EliteCatWarrior1 extends CardImpl { - public EliteCatWarrior(UUID ownerId) { + public EliteCatWarrior1(UUID ownerId) { super(ownerId, 87, "Elite Cat Warrior", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.expansionSetCode = "POR"; this.subtype.add("Cat"); @@ -53,12 +53,12 @@ public class EliteCatWarrior extends CardImpl { this.addAbility(new ForestwalkAbility()); } - public EliteCatWarrior(final EliteCatWarrior card) { + public EliteCatWarrior1(final EliteCatWarrior1 card) { super(card); } @Override - public EliteCatWarrior copy() { - return new EliteCatWarrior(this); + public EliteCatWarrior1 copy() { + return new EliteCatWarrior1(this); } } diff --git a/Mage.Sets/src/mage/sets/portal/EliteCatWarrior2.java b/Mage.Sets/src/mage/sets/portal/EliteCatWarrior2.java new file mode 100644 index 0000000000..11f0782259 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/EliteCatWarrior2.java @@ -0,0 +1,51 @@ +/* + * 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.portal; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class EliteCatWarrior2 extends mage.sets.portal.EliteCatWarrior1 { + + public EliteCatWarrior2(UUID ownerId) { + super(ownerId); + this.cardNumber = 88; + } + + public EliteCatWarrior2(final EliteCatWarrior2 card) { + super(card); + } + + @Override + public EliteCatWarrior2 copy() { + return new EliteCatWarrior2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Exhaustion.java b/Mage.Sets/src/mage/sets/portal/Exhaustion.java index 8987df5640..82a1e0be2d 100644 --- a/Mage.Sets/src/mage/sets/portal/Exhaustion.java +++ b/Mage.Sets/src/mage/sets/portal/Exhaustion.java @@ -1,52 +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.portal; - -import java.util.UUID; - -/** - * - * @author emerald000 - */ -public class Exhaustion extends mage.sets.portalthreekingdoms.Exhaustion { - - public Exhaustion(UUID ownerId) { - super(ownerId); - this.cardNumber = 42; - this.expansionSetCode = "POR"; - } - - public Exhaustion(final Exhaustion card) { - super(card); - } - - @Override - public Exhaustion copy() { - return new Exhaustion(this); - } -} +/* + * 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.portal; + +import java.util.UUID; + +/** + * + * @author emerald000 + */ +public class Exhaustion extends mage.sets.portalthreekingdoms.Exhaustion { + + public Exhaustion(UUID ownerId) { + super(ownerId); + this.cardNumber = 55; + this.expansionSetCode = "POR"; + } + + public Exhaustion(final Exhaustion card) { + super(card); + } + + @Override + public Exhaustion copy() { + return new Exhaustion(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/FinalStrike.java b/Mage.Sets/src/mage/sets/portal/FinalStrike.java new file mode 100644 index 0000000000..a557e32bd0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/FinalStrike.java @@ -0,0 +1,70 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.portal; + +import java.util.UUID; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.dynamicvalue.common.SacrificeCostCreaturesPower; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class FinalStrike extends CardImpl { + + public FinalStrike(UUID ownerId) { + super(ownerId, 16, "Final Strike", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{2}{B}{B}"); + this.expansionSetCode = "POR"; + + // As an additional cost to cast Final Strike, sacrifice a creature. + this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(new FilterControlledCreaturePermanent("a creature")))); + + // Final Strike deals damage to target opponent equal to the sacrificed creature's power. + Effect effect = new DamageTargetEffect(new SacrificeCostCreaturesPower()); + effect.setText("{this} deals damage to target opponent equal to the sacrificed creature's power"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetOpponent()); + } + + public FinalStrike(final FinalStrike card) { + super(card); + } + + @Override + public FinalStrike copy() { + return new FinalStrike(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/FireDragon.java b/Mage.Sets/src/mage/sets/portal/FireDragon.java new file mode 100644 index 0000000000..a4814964ad --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/FireDragon.java @@ -0,0 +1,83 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class FireDragon extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("for each Mountain you control"); + + static { + filter.add(new SubtypePredicate("Mountain")); + } + + public FireDragon(UUID ownerId) { + super(ownerId, 130, "Fire Dragon", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{6}{R}{R}{R}"); + this.expansionSetCode = "POR"; + this.subtype.add("Dragon"); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Fire Dragon enters the battlefield, it deals damage equal to the number of Mountains you control to target creature. + Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)); + effect.setText("it deals damage equal to the number of Mountains you control to target creature"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public FireDragon(final FireDragon card) { + super(card); + } + + @Override + public FireDragon copy() { + return new FireDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/FireSnake.java b/Mage.Sets/src/mage/sets/portal/FireSnake.java new file mode 100644 index 0000000000..86f58ce15a --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/FireSnake.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetLandPermanent; + +/** + * + * @author fireshoes + */ +public class FireSnake extends CardImpl { + + public FireSnake(UUID ownerId) { + super(ownerId, 132, "Fire Snake", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{R}"); + this.expansionSetCode = "POR"; + this.subtype.add("Snake"); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // When Fire Snake dies, destroy target land. + Ability ability = new DiesTriggeredAbility(new DestroyTargetEffect(), false); + ability.addTarget(new TargetLandPermanent()); + this.addAbility(ability); + } + + public FireSnake(final FireSnake card) { + super(card); + } + + @Override + public FireSnake copy() { + return new FireSnake(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/FleetFootedMonk.java b/Mage.Sets/src/mage/sets/portal/FleetFootedMonk.java new file mode 100644 index 0000000000..2fdb7a96a2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/FleetFootedMonk.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleEvasionAbility; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.Filter; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.PowerPredicate; + +/** + * + * @author fireshoes + */ +public class FleetFootedMonk extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures with power 2 or greater"); + + static { + filter.add(new PowerPredicate(Filter.ComparisonType.GreaterThan, 1)); + } + + public FleetFootedMonk(UUID ownerId) { + super(ownerId, 177, "Fleet-Footed Monk", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); + this.expansionSetCode = "POR"; + this.subtype.add("Human"); + this.subtype.add("Monk"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Fleet-Footed Monk can't be blocked by creatures with power 2 or greater. + this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield))); + } + + public FleetFootedMonk(final FleetFootedMonk card) { + super(card); + } + + @Override + public FleetFootedMonk copy() { + return new FleetFootedMonk(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Fruition.java b/Mage.Sets/src/mage/sets/portal/Fruition.java new file mode 100644 index 0000000000..43ed21c5e6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/Fruition.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.portal; + +import java.util.UUID; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author fireshoes + */ +public class Fruition extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("for each Forest on the battlefield"); + + static { + filter.add(new SubtypePredicate("Forest")); + } + + public Fruition(UUID ownerId) { + super(ownerId, 91, "Fruition", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{G}"); + this.expansionSetCode = "POR"; + + // You gain 1 life for each Forest on the battlefield. + this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter))); + } + + public Fruition(final Fruition card) { + super(card); + } + + @Override + public Fruition copy() { + return new Fruition(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/HandOfDeath.java b/Mage.Sets/src/mage/sets/portal/HandOfDeath1.java similarity index 85% rename from Mage.Sets/src/mage/sets/portal/HandOfDeath.java rename to Mage.Sets/src/mage/sets/portal/HandOfDeath1.java index 65f858f7b1..8cc4b9e9b5 100644 --- a/Mage.Sets/src/mage/sets/portal/HandOfDeath.java +++ b/Mage.Sets/src/mage/sets/portal/HandOfDeath1.java @@ -1,52 +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.portal; - -import java.util.UUID; - -/** - * - * @author anonymous - */ -public class HandOfDeath extends mage.sets.starter2000.HandOfDeath { - - public HandOfDeath(UUID ownerId) { - super(ownerId); - this.cardNumber = 14; - this.expansionSetCode = "POR"; - } - - public HandOfDeath(final HandOfDeath card) { - super(card); - } - - @Override - public HandOfDeath copy() { - return new HandOfDeath(this); - } -} +/* + * 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.portal; + +import java.util.UUID; + +/** + * + * @author anonymous + */ +public class HandOfDeath1 extends mage.sets.starter2000.HandOfDeath { + + public HandOfDeath1(UUID ownerId) { + super(ownerId); + this.cardNumber = 18; + this.expansionSetCode = "POR"; + } + + public HandOfDeath1(final HandOfDeath1 card) { + super(card); + } + + @Override + public HandOfDeath1 copy() { + return new HandOfDeath1(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/HandOfDeath2.java b/Mage.Sets/src/mage/sets/portal/HandOfDeath2.java new file mode 100644 index 0000000000..1ccf01bbc1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/HandOfDeath2.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.portal; + +import java.util.UUID; + +/** + * + * @author anonymous + */ +public class HandOfDeath2 extends mage.sets.starter2000.HandOfDeath { + + public HandOfDeath2(UUID ownerId) { + super(ownerId); + this.cardNumber = 19; + this.expansionSetCode = "POR"; + } + + public HandOfDeath2(final HandOfDeath2 card) { + super(card); + } + + @Override + public HandOfDeath2 copy() { + return new HandOfDeath2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/MindKnives.java b/Mage.Sets/src/mage/sets/portal/MindKnives.java new file mode 100644 index 0000000000..fcfb7dc7dc --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/MindKnives.java @@ -0,0 +1,60 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class MindKnives extends CardImpl { + + public MindKnives(UUID ownerId) { + super(ownerId, 23, "Mind Knives", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{B}"); + this.expansionSetCode = "POR"; + + // Target opponent discards a card at random. + this.getSpellAbility().addEffect(new DiscardTargetEffect(1, true)); + this.getSpellAbility().addTarget(new TargetOpponent()); + } + + public MindKnives(final MindKnives card) { + super(card); + } + + @Override + public MindKnives copy() { + return new MindKnives(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Mobilize.java b/Mage.Sets/src/mage/sets/portal/Mobilize.java new file mode 100644 index 0000000000..91b84ebb25 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/Mobilize.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.portal; + +import java.util.UUID; +import mage.abilities.effects.common.UntapAllControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class Mobilize extends CardImpl { + + private static final String rule = "untap all creatures you control"; + + public Mobilize(UUID ownerId) { + super(ownerId, 97, "Mobilize", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{G}"); + this.expansionSetCode = "POR"; + + // Untap all creatures you control. + this.getSpellAbility().addEffect(new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), rule)); + } + + public Mobilize(final Mobilize card) { + super(card); + } + + @Override + public Mobilize copy() { + return new Mobilize(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/MonstrousGrowth.java b/Mage.Sets/src/mage/sets/portal/MonstrousGrowth1.java similarity index 87% rename from Mage.Sets/src/mage/sets/portal/MonstrousGrowth.java rename to Mage.Sets/src/mage/sets/portal/MonstrousGrowth1.java index 2a4a89c39b..24188f146e 100644 --- a/Mage.Sets/src/mage/sets/portal/MonstrousGrowth.java +++ b/Mage.Sets/src/mage/sets/portal/MonstrousGrowth1.java @@ -33,20 +33,20 @@ import java.util.UUID; * * @author Plopman */ -public class MonstrousGrowth extends mage.sets.seventhedition.MonstrousGrowth { +public class MonstrousGrowth1 extends mage.sets.seventhedition.MonstrousGrowth { - public MonstrousGrowth(UUID ownerId) { + public MonstrousGrowth1(UUID ownerId) { super(ownerId); this.cardNumber = 98; this.expansionSetCode = "POR"; } - public MonstrousGrowth(final MonstrousGrowth card) { + public MonstrousGrowth1(final MonstrousGrowth1 card) { super(card); } @Override - public MonstrousGrowth copy() { - return new MonstrousGrowth(this); + public MonstrousGrowth1 copy() { + return new MonstrousGrowth1(this); } } diff --git a/Mage.Sets/src/mage/sets/portal/MonstrousGrowth2.java b/Mage.Sets/src/mage/sets/portal/MonstrousGrowth2.java new file mode 100644 index 0000000000..eb54028cfa --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/MonstrousGrowth2.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.portal; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class MonstrousGrowth2 extends mage.sets.seventhedition.MonstrousGrowth { + + public MonstrousGrowth2(UUID ownerId) { + super(ownerId); + this.cardNumber = 99; + this.expansionSetCode = "POR"; + } + + public MonstrousGrowth2(final MonstrousGrowth2 card) { + super(card); + } + + @Override + public MonstrousGrowth2 copy() { + return new MonstrousGrowth2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/NoxiousToad.java b/Mage.Sets/src/mage/sets/portal/NoxiousToad.java new file mode 100644 index 0000000000..f899da2f65 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/NoxiousToad.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; + +/** + * + * @author fireshoes + */ +public class NoxiousToad extends CardImpl { + + public NoxiousToad(UUID ownerId) { + super(ownerId, 27, "Noxious Toad", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "POR"; + this.subtype.add("Frog"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Noxious Toad dies, each opponent discards a card. + this.addAbility(new DiesTriggeredAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT), false)); + } + + public NoxiousToad(final NoxiousToad card) { + super(card); + } + + @Override + public NoxiousToad copy() { + return new NoxiousToad(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Omen.java b/Mage.Sets/src/mage/sets/portal/Omen.java new file mode 100644 index 0000000000..9ecc65472b --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/Omen.java @@ -0,0 +1,62 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LookLibraryControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class Omen extends CardImpl { + + public Omen(UUID ownerId) { + super(ownerId, 63, "Omen", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{U}"); + this.expansionSetCode = "POR"; + + // Look at the top three cards of your library, then put them back in any order. You may shuffle your library. + this.getSpellAbility().addEffect(new LookLibraryControllerEffect(3, true)); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + public Omen(final Omen card) { + super(card); + } + + @Override + public Omen copy() { + return new Omen(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/RagingGoblin.java b/Mage.Sets/src/mage/sets/portal/RagingGoblin1.java similarity index 88% rename from Mage.Sets/src/mage/sets/portal/RagingGoblin.java rename to Mage.Sets/src/mage/sets/portal/RagingGoblin1.java index a3e2bf5ce5..e43a721f05 100644 --- a/Mage.Sets/src/mage/sets/portal/RagingGoblin.java +++ b/Mage.Sets/src/mage/sets/portal/RagingGoblin1.java @@ -33,20 +33,20 @@ import java.util.UUID; * * @author Plopman */ -public class RagingGoblin extends mage.sets.tenthedition.RagingGoblin { +public class RagingGoblin1 extends mage.sets.tenthedition.RagingGoblin { - public RagingGoblin(UUID ownerId) { + public RagingGoblin1(UUID ownerId) { super(ownerId); this.cardNumber = 150; this.expansionSetCode = "POR"; } - public RagingGoblin(final RagingGoblin card) { + public RagingGoblin1(final RagingGoblin1 card) { super(card); } @Override - public RagingGoblin copy() { - return new RagingGoblin(this); + public RagingGoblin1 copy() { + return new RagingGoblin1(this); } } diff --git a/Mage.Sets/src/mage/sets/portal/RagingGoblin2.java b/Mage.Sets/src/mage/sets/portal/RagingGoblin2.java new file mode 100644 index 0000000000..84361fc83c --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/RagingGoblin2.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.portal; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class RagingGoblin2 extends mage.sets.tenthedition.RagingGoblin { + + public RagingGoblin2(UUID ownerId) { + super(ownerId); + this.cardNumber = 151; + this.expansionSetCode = "POR"; + } + + public RagingGoblin2(final RagingGoblin2 card) { + super(card); + } + + @Override + public RagingGoblin2 copy() { + return new RagingGoblin2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/RenewingDawn.java b/Mage.Sets/src/mage/sets/portal/RenewingDawn.java new file mode 100644 index 0000000000..7d1d1c4056 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/RenewingDawn.java @@ -0,0 +1,75 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.portal; + +import java.util.UUID; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.MultipliedValue; +import mage.abilities.dynamicvalue.common.PermanentsTargetOpponentControlsCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class RenewingDawn extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("Mountain"); + + static { + filter.add(new SubtypePredicate("Mountain")); + } + + public RenewingDawn(UUID ownerId) { + super(ownerId, 185, "Renewing Dawn", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{W}"); + this.expansionSetCode = "POR"; + + // You gain 2 life for each Mountain target opponent controls. + DynamicValue amount = new MultipliedValue(new PermanentsTargetOpponentControlsCount(filter), 2); + Effect effect = new GainLifeEffect(amount); + effect.setText("You gain 2 life for each Mountain target opponent controls"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetOpponent()); + } + + public RenewingDawn(final RenewingDawn card) { + super(card); + } + + @Override + public RenewingDawn copy() { + return new RenewingDawn(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/SacredKnight.java b/Mage.Sets/src/mage/sets/portal/SacredKnight.java new file mode 100644 index 0000000000..2b74e7b460 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/SacredKnight.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.common.SimpleEvasionAbility; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author fireshoes + */ +public class SacredKnight extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("black and/or red creatures"); + + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.BLACK), + (new ColorPredicate(ObjectColor.RED)))); + } + + public SacredKnight(UUID ownerId) { + super(ownerId, 186, "Sacred Knight", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{W}"); + this.expansionSetCode = "POR"; + this.subtype.add("Human"); + this.subtype.add("Knight"); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Sacred Knight can't be blocked by black and/or red creatures. + this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield))); + } + + public SacredKnight(final SacredKnight card) { + super(card); + } + + @Override + public SacredKnight copy() { + return new SacredKnight(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/ScorchingSpear.java b/Mage.Sets/src/mage/sets/portal/ScorchingSpear.java new file mode 100644 index 0000000000..b19a5211c7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/ScorchingSpear.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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class ScorchingSpear extends mage.sets.starter1999.ScorchingSpear { + + public ScorchingSpear(UUID ownerId) { + super(ownerId); + this.cardNumber = 154; + this.expansionSetCode = "POR"; + } + + public ScorchingSpear(final ScorchingSpear card) { + super(card); + } + + @Override + public ScorchingSpear copy() { + return new ScorchingSpear(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/SerpentAssassin.java b/Mage.Sets/src/mage/sets/portal/SerpentAssassin.java new file mode 100644 index 0000000000..bda795bbe8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/SerpentAssassin.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class SerpentAssassin extends CardImpl { + + public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); + + static { + filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + } + + public SerpentAssassin(UUID ownerId) { + super(ownerId, 31, "Serpent Assassin", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); + this.expansionSetCode = "POR"; + this.subtype.add("Snake"); + this.subtype.add("Assassin"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Serpent Assassin enters the battlefield, you may destroy target nonblack creature. + Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + } + + public SerpentAssassin(final SerpentAssassin card) { + super(card); + } + + @Override + public SerpentAssassin copy() { + return new SerpentAssassin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/SoulShred.java b/Mage.Sets/src/mage/sets/portal/SoulShred.java new file mode 100644 index 0000000000..b357ce6ecf --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/SoulShred.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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class SoulShred extends mage.sets.masterseditioniv.SoulShred { + + public SoulShred(UUID ownerId) { + super(ownerId); + this.cardNumber = 35; + this.expansionSetCode = "POR"; + } + + public SoulShred(final SoulShred card) { + super(card); + } + + @Override + public SoulShred copy() { + return new SoulShred(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/SpiritualGuardian.java b/Mage.Sets/src/mage/sets/portal/SpiritualGuardian.java new file mode 100644 index 0000000000..04df7d2012 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/SpiritualGuardian.java @@ -0,0 +1,63 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class SpiritualGuardian extends CardImpl { + + public SpiritualGuardian(UUID ownerId) { + super(ownerId, 189, "Spiritual Guardian", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); + this.expansionSetCode = "POR"; + this.subtype.add("Spirit"); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // When Spiritual Guardian enters the battlefield, you gain 4 life. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4), false)); + } + + public SpiritualGuardian(final SpiritualGuardian card) { + super(card); + } + + @Override + public SpiritualGuardian copy() { + return new SpiritualGuardian(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/Steadfastness.java b/Mage.Sets/src/mage/sets/portal/Steadfastness.java new file mode 100644 index 0000000000..ee102d439b --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/Steadfastness.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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class Steadfastness extends mage.sets.starter1999.Steadfastness { + + public Steadfastness(UUID ownerId) { + super(ownerId); + this.cardNumber = 193; + this.expansionSetCode = "POR"; + } + + public Steadfastness(final Steadfastness card) { + super(card); + } + + @Override + public Steadfastness copy() { + return new Steadfastness(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/ThingFromTheDeep.java b/Mage.Sets/src/mage/sets/portal/ThingFromTheDeep.java new file mode 100644 index 0000000000..89b110e6d3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/ThingFromTheDeep.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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class ThingFromTheDeep extends mage.sets.masterseditioniv.ThingFromTheDeep { + + public ThingFromTheDeep(UUID ownerId) { + super(ownerId); + this.cardNumber = 74; + this.expansionSetCode = "POR"; + } + + public ThingFromTheDeep(final ThingFromTheDeep card) { + super(card); + } + + @Override + public ThingFromTheDeep copy() { + return new ThingFromTheDeep(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/ThunderingWurm.java b/Mage.Sets/src/mage/sets/portal/ThunderingWurm.java new file mode 100644 index 0000000000..bbb6fc0ad6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/ThunderingWurm.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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterLandCard; + +/** + * + * @author fireshoes + */ +public class ThunderingWurm extends CardImpl { + + public ThunderingWurm(UUID ownerId) { + super(ownerId, 115, "Thundering Wurm", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{G}"); + this.expansionSetCode = "POR"; + this.subtype.add("Wurm"); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Thundering Wurm enters the battlefield, sacrifice it unless you discard a land card. + Effect effect = new SacrificeSourceUnlessPaysEffect(new DiscardCardCost(new FilterLandCard("a land card"))); + effect.setText("sacrifice it unless you discard a land card"); + this.addAbility(new EntersBattlefieldTriggeredAbility(effect)); + } + + public ThunderingWurm(final ThunderingWurm card) { + super(card); + } + + @Override + public ThunderingWurm copy() { + return new ThunderingWurm(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/UndyingBeast.java b/Mage.Sets/src/mage/sets/portal/UndyingBeast.java new file mode 100644 index 0000000000..9489ba1f77 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/UndyingBeast.java @@ -0,0 +1,97 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author fireshoes + */ +public class UndyingBeast extends CardImpl { + + public UndyingBeast(UUID ownerId) { + super(ownerId, 36, "Undying Beast", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{B}"); + this.expansionSetCode = "POR"; + this.subtype.add("Beast"); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Undying Beast dies, put it on top of its owner's library. + this.addAbility(new DiesTriggeredAbility(new UndyingBeastEffect())); + } + + public UndyingBeast(final UndyingBeast card) { + super(card); + } + + @Override + public UndyingBeast copy() { + return new UndyingBeast(this); + } +} + +class UndyingBeastEffect extends OneShotEffect { + + public UndyingBeastEffect() { + super(Outcome.ReturnToHand); + staticText = "put it on top of its owner's library"; + } + + public UndyingBeastEffect(final UndyingBeastEffect effect) { + super(effect); + } + + @Override + public UndyingBeastEffect copy() { + return new UndyingBeastEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(source.getSourceId()); + if (card != null && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { + Player owner = game.getPlayer(card.getOwnerId()); + owner.getGraveyard().remove(card); + return card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/portal/ValorousCharge.java b/Mage.Sets/src/mage/sets/portal/ValorousCharge.java new file mode 100644 index 0000000000..475cd987ad --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/ValorousCharge.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.portal; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.effects.common.continuous.BoostAllEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author fireshoes + */ +public class ValorousCharge extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("White creatures"); + + static { + filter.add(new ColorPredicate(ObjectColor.WHITE)); + } + + public ValorousCharge(UUID ownerId) { + super(ownerId, 196, "Valorous Charge", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{W}{W}"); + this.expansionSetCode = "POR"; + + // White creatures get +2/+0 until end of turn. + this.getSpellAbility().addEffect(new BoostAllEffect(2, 0, Duration.EndOfTurn, filter, false)); + } + + public ValorousCharge(final ValorousCharge card) { + super(card); + } + + @Override + public ValorousCharge copy() { + return new ValorousCharge(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/VampiricFeast.java b/Mage.Sets/src/mage/sets/portal/VampiricFeast.java new file mode 100644 index 0000000000..6cb232c803 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/VampiricFeast.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.portal; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author fireshoes + */ +public class VampiricFeast extends CardImpl { + + public VampiricFeast(UUID ownerId) { + super(ownerId, 37, "Vampiric Feast", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{5}{B}{B}"); + this.expansionSetCode = "POR"; + + // Vampiric Feast deals 4 damage to target creature or player and you gain 4 life. + Effect effect = new DamageTargetEffect(4); + effect.setText("{this} deals 4 damage to target creature or player"); + this.getSpellAbility().addEffect(effect); + // and you gain 4 life. + effect = new GainLifeEffect(4); + effect.setText("and you gain 4 life"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); + } + + public VampiricFeast(final VampiricFeast card) { + super(card); + } + + @Override + public VampiricFeast copy() { + return new VampiricFeast(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/VampiricTouch.java b/Mage.Sets/src/mage/sets/portal/VampiricTouch.java new file mode 100644 index 0000000000..e1bf82c771 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/VampiricTouch.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.portal; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class VampiricTouch extends CardImpl { + + public VampiricTouch(UUID ownerId) { + super(ownerId, 38, "Vampiric Touch", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{B}"); + this.expansionSetCode = "POR"; + + // Vampiric Touch deals 2 damage to target opponent and you gain 2 life. + Effect effect = new DamageTargetEffect(2); + effect.setText("{this} deals 2 damage to target opponent"); + this.getSpellAbility().addEffect(effect); + effect = new GainLifeEffect(2); + effect.setText("and you gain 2 life"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetOpponent()); + } + + public VampiricTouch(final VampiricTouch card) { + super(card); + } + + @Override + public VampiricTouch copy() { + return new VampiricTouch(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/WarriorsCharge1.java b/Mage.Sets/src/mage/sets/portal/WarriorsCharge1.java new file mode 100644 index 0000000000..d98e1e5273 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/WarriorsCharge1.java @@ -0,0 +1,59 @@ +/* + * 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.portal; + +import java.util.UUID; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class WarriorsCharge1 extends CardImpl { + + public WarriorsCharge1(UUID ownerId) { + super(ownerId, 200, "Warrior's Charge", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{W}"); + this.expansionSetCode = "POR"; + + // Creatures you control get +1/+1 until end of turn. + this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); + } + + public WarriorsCharge1(final WarriorsCharge1 card) { + super(card); + } + + @Override + public WarriorsCharge1 copy() { + return new WarriorsCharge1(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portal/WarriorsCharge2.java b/Mage.Sets/src/mage/sets/portal/WarriorsCharge2.java new file mode 100644 index 0000000000..9c3d686cba --- /dev/null +++ b/Mage.Sets/src/mage/sets/portal/WarriorsCharge2.java @@ -0,0 +1,51 @@ +/* + * 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.portal; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class WarriorsCharge2 extends mage.sets.portal.WarriorsCharge1 { + + public WarriorsCharge2(UUID ownerId) { + super(ownerId); + this.cardNumber = 201; + } + + public WarriorsCharge2(final WarriorsCharge2 card) { + super(card); + } + + @Override + public WarriorsCharge2 copy() { + return new WarriorsCharge2(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portalsecondage/DakmorPlague.java b/Mage.Sets/src/mage/sets/portalsecondage/DakmorPlague.java new file mode 100644 index 0000000000..aba3368403 --- /dev/null +++ b/Mage.Sets/src/mage/sets/portalsecondage/DakmorPlague.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.portalsecondage; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class DakmorPlague extends mage.sets.starter1999.DakmorPlague { + + public DakmorPlague(UUID ownerId) { + super(ownerId); + this.cardNumber = 9; + this.expansionSetCode = "PO2"; + } + + public DakmorPlague(final DakmorPlague card) { + super(card); + } + + @Override + public DakmorPlague copy() { + return new DakmorPlague(this); + } +} diff --git a/Mage.Sets/src/mage/sets/portalsecondage/SylvanYeti.java b/Mage.Sets/src/mage/sets/portalsecondage/SylvanYeti.java new file mode 100644 index 0000000000..afd4a6b14b --- /dev/null +++ b/Mage.Sets/src/mage/sets/portalsecondage/SylvanYeti.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.portalsecondage; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class SylvanYeti extends mage.sets.starter1999.SylvanYeti { + + public SylvanYeti(UUID ownerId) { + super(ownerId); + this.cardNumber = 87; + this.expansionSetCode = "PO2"; + } + + public SylvanYeti(final SylvanYeti card) { + super(card); + } + + @Override + public SylvanYeti copy() { + return new SylvanYeti(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/DakmorGhoul.java b/Mage.Sets/src/mage/sets/starter1999/DakmorGhoul.java new file mode 100644 index 0000000000..db966dd581 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/DakmorGhoul.java @@ -0,0 +1,72 @@ +/* + * 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.starter1999; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.LoseLifeTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class DakmorGhoul extends CardImpl { + + public DakmorGhoul(UUID ownerId) { + super(ownerId, 70, "Dakmor Ghoul", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); + this.expansionSetCode = "S99"; + this.subtype.add("Zombie"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Dakmor Ghoul enters the battlefield, target opponent loses 2 life and you gain 2 life. + Effect effect = new GainLifeEffect(2); + effect.setText("and you gain 2 life"); + Ability ability = new EntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(2), false); + ability.addTarget(new TargetOpponent()); + ability.addEffect(effect); + this.addAbility(ability); + } + + public DakmorGhoul(final DakmorGhoul card) { + super(card); + } + + @Override + public DakmorGhoul copy() { + return new DakmorGhoul(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/DakmorPlague.java b/Mage.Sets/src/mage/sets/starter1999/DakmorPlague.java new file mode 100644 index 0000000000..4d3150c9e0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/DakmorPlague.java @@ -0,0 +1,58 @@ +/* + * 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.starter1999; + +import java.util.UUID; +import mage.abilities.effects.common.DamageEverythingEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class DakmorPlague extends CardImpl { + + public DakmorPlague(UUID ownerId) { + super(ownerId, 72, "Dakmor Plague", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{B}{B}"); + this.expansionSetCode = "S99"; + + // Dakmor Plague deals 3 damage to each creature and each player. + this.getSpellAbility().addEffect(new DamageEverythingEffect(3)); + } + + public DakmorPlague(final DakmorPlague card) { + super(card); + } + + @Override + public DakmorPlague copy() { + return new DakmorPlague(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/DevoutMonk.java b/Mage.Sets/src/mage/sets/starter1999/DevoutMonk.java new file mode 100644 index 0000000000..0c29947555 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/DevoutMonk.java @@ -0,0 +1,65 @@ +/* + * 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.starter1999; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class DevoutMonk extends CardImpl { + + public DevoutMonk(UUID ownerId) { + super(ownerId, 14, "Devout Monk", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{W}"); + this.expansionSetCode = "S99"; + this.subtype.add("Human"); + this.subtype.add("Monk"); + this.subtype.add("Cleric"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Devout Monk enters the battlefield, you gain 1 life. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1), false)); + } + + public DevoutMonk(final DevoutMonk card) { + super(card); + } + + @Override + public DevoutMonk copy() { + return new DevoutMonk(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/DreadReaper.java b/Mage.Sets/src/mage/sets/starter1999/DreadReaper.java new file mode 100644 index 0000000000..9c38640442 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/DreadReaper.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.starter1999; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class DreadReaper extends CardImpl { + + public DreadReaper(UUID ownerId) { + super(ownerId, 76, "Dread Reaper", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{B}{B}{B}"); + this.expansionSetCode = "S99"; + this.subtype.add("Horror"); + this.power = new MageInt(6); + this.toughness = new MageInt(5); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Dread Reaper enters the battlefield, you lose 5 life. + this.addAbility(new EntersBattlefieldTriggeredAbility(new LoseLifeSourceControllerEffect(5), false)); + } + + public DreadReaper(final DreadReaper card) { + super(card); + } + + @Override + public DreadReaper copy() { + return new DreadReaper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/RoyalTrooper.java b/Mage.Sets/src/mage/sets/starter1999/RoyalTrooper.java new file mode 100644 index 0000000000..6f5c36e52e --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/RoyalTrooper.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.starter1999; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BlocksTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class RoyalTrooper extends CardImpl { + + public RoyalTrooper(UUID ownerId) { + super(ownerId, 25, "Royal Trooper", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.expansionSetCode = "S99"; + this.subtype.add("Human"); + this.subtype.add("Soldier"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever Royal Trooper blocks, it gets +2/+2 until end of turn. + Effect effect = new BoostSourceEffect(2, 2, Duration.EndOfTurn); + effect.setText("it gets +2/+2 until end of turn"); + this.addAbility(new BlocksTriggeredAbility(effect, false)); + } + + public RoyalTrooper(final RoyalTrooper card) { + super(card); + } + + @Override + public RoyalTrooper copy() { + return new RoyalTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/ScorchingSpear.java b/Mage.Sets/src/mage/sets/starter1999/ScorchingSpear.java new file mode 100644 index 0000000000..2535439b4e --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/ScorchingSpear.java @@ -0,0 +1,60 @@ +/* + * 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.starter1999; + +import java.util.UUID; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author fireshoes + */ +public class ScorchingSpear extends CardImpl { + + public ScorchingSpear(UUID ownerId) { + super(ownerId, 116, "Scorching Spear", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{R}"); + this.expansionSetCode = "S99"; + + // Scorching Spear deals 1 damage to target creature or player. + this.getSpellAbility().addEffect(new DamageTargetEffect(1)); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); + } + + public ScorchingSpear(final ScorchingSpear card) { + super(card); + } + + @Override + public ScorchingSpear copy() { + return new ScorchingSpear(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/ShriekingSpecter.java b/Mage.Sets/src/mage/sets/starter1999/ShriekingSpecter.java new file mode 100644 index 0000000000..ec22bc1372 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/ShriekingSpecter.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.starter1999; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.SetTargetPointer; + +/** + * + * @author fireshoes + */ +public class ShriekingSpecter extends CardImpl { + + public ShriekingSpecter(UUID ownerId) { + super(ownerId, 89, "Shrieking Specter", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{5}{B}"); + this.expansionSetCode = "S99"; + this.subtype.add("Specter"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever Shrieking Specter attacks, defending player discards a card. + this.addAbility(new AttacksTriggeredAbility(new DiscardTargetEffect(1), false, "Whenever {this} attacks, defending player discards a card.", SetTargetPointer.PLAYER)); + } + + public ShriekingSpecter(final ShriekingSpecter card) { + super(card); + } + + @Override + public ShriekingSpecter copy() { + return new ShriekingSpecter(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/Steadfastness.java b/Mage.Sets/src/mage/sets/starter1999/Steadfastness.java new file mode 100644 index 0000000000..8770120e83 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/Steadfastness.java @@ -0,0 +1,59 @@ +/* + * 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.starter1999; + +import java.util.UUID; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class Steadfastness extends CardImpl { + + public Steadfastness(UUID ownerId) { + super(ownerId, 27, "Steadfastness", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{W}"); + this.expansionSetCode = "S99"; + + // Creatures you control get +0/+3 until end of turn. + this.getSpellAbility().addEffect(new BoostControlledEffect(0, 3, Duration.EndOfTurn)); + } + + public Steadfastness(final Steadfastness card) { + super(card); + } + + @Override + public Steadfastness copy() { + return new Steadfastness(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/StreamOfAcid.java b/Mage.Sets/src/mage/sets/starter1999/StreamOfAcid.java new file mode 100644 index 0000000000..24608a6164 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/StreamOfAcid.java @@ -0,0 +1,75 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.starter1999; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.effects.common.DestroyTargetEffect; +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.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetPermanent; + +/** + * + * @author fireshoes + */ +public class StreamOfAcid extends CardImpl { + + public static final FilterPermanent filter = new FilterPermanent("land or nonblack creature"); + + static { + filter.add(Predicates.or( + new CardTypePredicate(CardType.LAND), + Predicates.and( + Predicates.not(new ColorPredicate(ObjectColor.BLACK)), + new CardTypePredicate(CardType.CREATURE)))); + } + + public StreamOfAcid(UUID ownerId) { + super(ownerId, 91, "Stream of Acid", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{B}{B}"); + this.expansionSetCode = "S99"; + + // Destroy target land or nonblack creature. + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); + } + + public StreamOfAcid(final StreamOfAcid card) { + super(card); + } + + @Override + public StreamOfAcid copy() { + return new StreamOfAcid(this); + } +} diff --git a/Mage.Sets/src/mage/sets/starter1999/SylvanYeti.java b/Mage.Sets/src/mage/sets/starter1999/SylvanYeti.java new file mode 100644 index 0000000000..501a0dbc17 --- /dev/null +++ b/Mage.Sets/src/mage/sets/starter1999/SylvanYeti.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.starter1999; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.CardsInControllerHandCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.SetPowerSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author fireshoes + */ +public class SylvanYeti extends CardImpl { + + public SylvanYeti(UUID ownerId) { + super(ownerId, 146, "Sylvan Yeti", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); + this.expansionSetCode = "S99"; + this.subtype.add("Yeti"); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Sylvan Yeti's power is equal to the number of cards in your hand. + Effect effect = new SetPowerSourceEffect(new CardsInControllerHandCount(), Duration.EndOfGame); + this.addAbility(new SimpleStaticAbility(Zone.ALL, effect)); + } + + public SylvanYeti(final SylvanYeti card) { + super(card); + } + + @Override + public SylvanYeti copy() { + return new SylvanYeti(this); + } +} diff --git a/Mage.Sets/src/mage/sets/visions/UrborgMindsucker.java b/Mage.Sets/src/mage/sets/visions/UrborgMindsucker.java new file mode 100644 index 0000000000..dda4f2b245 --- /dev/null +++ b/Mage.Sets/src/mage/sets/visions/UrborgMindsucker.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.visions; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class UrborgMindsucker extends CardImpl { + + public UrborgMindsucker(UUID ownerId) { + super(ownerId, 21, "Urborg Mindsucker", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "VIS"; + this.subtype.add("Horror"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {B}, Sacrifice Urborg Mindsucker: Target opponent discards a card at random. Activate this ability only any time you could cast a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1, true), new ManaCostsImpl("{B}")); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + } + + public UrborgMindsucker(final UrborgMindsucker card) { + super(card); + } + + @Override + public UrborgMindsucker copy() { + return new UrborgMindsucker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/weatherlight/FesteringEvil.java b/Mage.Sets/src/mage/sets/weatherlight/FesteringEvil.java new file mode 100644 index 0000000000..66e94d41ac --- /dev/null +++ b/Mage.Sets/src/mage/sets/weatherlight/FesteringEvil.java @@ -0,0 +1,70 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.weatherlight; + +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.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageEverythingEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; + +/** + * + * @author fireshoes + */ +public class FesteringEvil extends CardImpl { + + public FesteringEvil(UUID ownerId) { + super(ownerId, 10, "Festering Evil", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{B}"); + this.expansionSetCode = "WTH"; + + // At the beginning of your upkeep, Festering Evil deals 1 damage to each creature and each player. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageEverythingEffect(1), TargetController.YOU, false)); + + // {B}{B}, Sacrifice Festering Evil: Festering Evil deals 3 damage to each creature and each player. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(3), new ManaCostsImpl("{B}{B}")); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public FesteringEvil(final FesteringEvil card) { + super(card); + } + + @Override + public FesteringEvil copy() { + return new FesteringEvil(this); + } +} diff --git a/Mage/src/mage/abilities/dynamicvalue/common/CardsInControllerHandCount.java b/Mage/src/mage/abilities/dynamicvalue/common/CardsInControllerHandCount.java index 71e9836cb8..476057003c 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/CardsInControllerHandCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/CardsInControllerHandCount.java @@ -1,36 +1,36 @@ -package mage.abilities.dynamicvalue.common; - -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.effects.Effect; -import mage.game.Game; -import mage.players.Player; - -public class CardsInControllerHandCount implements DynamicValue { - - @Override - public int calculate(Game game, Ability sourceAbility, Effect effect) { - if (sourceAbility != null) { - Player controller = game.getPlayer(sourceAbility.getControllerId()); - if (controller != null) { - return controller.getHand().size(); - } - } - return 0; - } - - @Override - public CardsInControllerHandCount copy() { - return new CardsInControllerHandCount(); - } - - @Override - public String getMessage() { - return "card in your hand"; - } - - @Override - public String toString() { - return "1"; - } -} +package mage.abilities.dynamicvalue.common; + +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.effects.Effect; +import mage.game.Game; +import mage.players.Player; + +public class CardsInControllerHandCount implements DynamicValue { + + @Override + public int calculate(Game game, Ability sourceAbility, Effect effect) { + if (sourceAbility != null) { + Player controller = game.getPlayer(sourceAbility.getControllerId()); + if (controller != null) { + return controller.getHand().size(); + } + } + return 0; + } + + @Override + public CardsInControllerHandCount copy() { + return new CardsInControllerHandCount(); + } + + @Override + public String getMessage() { + return "cards in your hand"; + } + + @Override + public String toString() { + return "1"; + } +} diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 64c459a186..c090ff1661 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -14899,117 +14899,188 @@ Cavern Harpy|Planeshift|97|C|{U}{B}|Creature - Harpy Beast|2|1|Flying$When Caver Cloud Cover|Planeshift|98|R|{2}{W}{U}|Enchantment|||Whenever another permanent you control becomes the target of a spell or ability an opponent controls, you may return that permanent to its owner's hand.| Crosis's Charm|Planeshift|99|U|{U}{B}{R}|Instant|||Choose one - Return target permanent to its owner's hand; or destroy target nonblack creature, and it can't be regenerated; or destroy target artifact.| Arrogant Vampire|Portal|1|U|{3}{B}{B}|Creature - Vampire|4|3|Flying| +Assassin's Blade|Portal|2|U|{1}{B}|Instant|||Cast Assassin's Blade only during the declare attackers step and only if you've been attacked this step.$Destroy target nonblack attacking creature.| +Bog Imp|Portal|3|C|{1}{B}|Creature - Imp|1|1|Flying (This creature can't be blocked except by creatures with flying or reach.)| +Bog Raiders|Portal|4|C|{2}{B}|Creature - Zombie|2|2|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| +Bog Wraith|Portal|5|U|{3}{B}|Creature - Wraith|3|3|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| +Charging Bandits|Portal|6|U|{4}{B}|Creature - Human Rogue|3|3|Whenever Charging Bandits attacks, it gets +2/+0 until end of turn.| +Craven Knight|Portal|7|C|{1}{B}|Creature - Human Knight|2|2|Craven Knight can't block.| +Cruel Bargain|Portal|8|R|{B}{B}{B}|Sorcery|||Draw four cards. You lose half your life, rounded up.| +Cruel Tutor|Portal|9|R|{2}{B}|Sorcery|||Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life.| Dread Charge|Portal|10|R|{3}{B}|Sorcery|||Until end of turn, black creatures you control can be blocked only by black creatures.| +Dread Reaper|Portal|11|R|{3}{B}{B}{B}|Creature - Horror|6|5|Flying$When Dread Reaper enters the battlefield, you lose 5 life.| +Dry Spell|Portal|12|U|{1}{B}|Sorcery|||Dry Spell deals 1 damage to each creature and each player.| +Ebon Dragon|Portal|13|R|{5}{B}{B}|Creature - Dragon|5|4|Flying$When Ebon Dragon enters the battlefield, you may have target opponent discard a card.| +Endless Cockroaches|Portal|14|R|{1}{B}{B}|Creature - Insect|1|1|When Endless Cockroaches dies, return it to its owner's hand.| +Feral Shadow|Portal|15|C|{2}{B}|Creature - Nightstalker|2|1|Flying| +Final Strike|Portal|16|R|{2}{B}{B}|Sorcery|||As an additional cost to cast Final Strike, sacrifice a creature.$Final Strike deals damage to target opponent equal to the sacrificed creature's power.| +Gravedigger|Portal|17|U|{3}{B}|Creature - Zombie|2|2|When Gravedigger enters the battlefield, you may return target creature card from your graveyard to your hand.| +Hand of Death|Portal|18|C|{2}{B}|Sorcery|||Destroy target nonblack creature.| +Hand of Death|Portal|19|C|{2}{B}|Sorcery|||Destroy target nonblack creature.| +Howling Fury|Portal|20|C|{2}{B}|Sorcery|||Target creature gets +4/+0 until end of turn.| +King's Assassin|Portal|21|R|{1}{B}{B}|Creature - Human Assassin|1|1|{tap}: Destroy target tapped creature. Activate this ability only during your turn, before attackers are declared.| +Mercenary Knight|Portal|22|R|{2}{B}|Creature - Human Mercenary Knight|4|4|When Mercenary Knight enters the battlefield, sacrifice it unless you discard a creature card.| +Mind Knives|Portal|23|C|{1}{B}|Sorcery|||Target opponent discards a card at random.| +Mind Rot|Portal|24|C|{2}{B}|Sorcery|||Target player discards two cards.| +Muck Rats|Portal|25|C|{B}|Creature - Rat|1|1|| +Nature's Ruin|Portal|26|U|{2}{B}|Sorcery|||Destroy all green creatures.| +Noxious Toad|Portal|27|U|{2}{B}|Creature - Frog|1|1|When Noxious Toad dies, each opponent discards a card.| +Python|Portal|28|C|{1}{B}{B}|Creature - Snake|3|2|| +Rain of Tears|Portal|29|U|{1}{B}{B}|Sorcery|||Destroy target land.| +Raise Dead|Portal|30|C|{B}|Sorcery|||Return target creature card from your graveyard to your hand.| +Serpent Assassin|Portal|31|R|{3}{B}{B}|Creature - Snake Assassin|2|2|When Serpent Assassin enters the battlefield, you may destroy target nonblack creature.| +Serpent Warrior|Portal|32|C|{2}{B}|Creature - Snake Warrior|3|3|When Serpent Warrior enters the battlefield, you lose 3 life.| +Skeletal Crocodile|Portal|33|C|{3}{B}|Creature - Crocodile Skeleton|5|1|| +Skeletal Snake|Portal|34|C|{1}{B}|Creature - Snake Skeleton|2|1|| +Soul Shred|Portal|35|C|{3}{B}{B}|Sorcery|||Soul Shred deals 3 damage to target nonblack creature. You gain 3 life.| +Undying Beast|Portal|36|C|{3}{B}|Creature - Beast|3|2|When Undying Beast dies, put it on top of its owner's library.| +Vampiric Feast|Portal|37|U|{5}{B}{B}|Sorcery|||Vampiric Feast deals 4 damage to target creature or player and you gain 4 life.| +Vampiric Touch|Portal|38|C|{2}{B}|Sorcery|||Vampiric Touch deals 2 damage to target opponent and you gain 2 life.| +Virtue's Ruin|Portal|39|U|{2}{B}|Sorcery|||Destroy all white creatures.| +Wicked Pact|Portal|40|R|{1}{B}{B}|Sorcery|||Destroy two target nonblack creatures. You lose 5 life.| +Ancestral Memories|Portal|41|R|{2}{U}{U}{U}|Sorcery|||Look at the top seven cards of your library. Put two of them into your hand and the rest into your graveyard.| +Balance of Power|Portal|42|R|{3}{U}{U}|Sorcery|||If target opponent has more cards in hand than you, draw cards equal to the difference.| +Baleful Stare|Portal|43|U|{2}{U}|Sorcery|||Target opponent reveals his or her hand. You draw a card for each Mountain and red card in it.| +Capricious Sorcerer|Portal|44|R|{2}{U}|Creature - Human Wizard|1|1|{tap}: Capricious Sorcerer deals 1 damage to target creature or player. Activate this ability only during your turn, before attackers are declared.| +Cloak of Feathers|Portal|45|C|{U}|Sorcery|||Target creature gains flying until end of turn.$$Draw a card.| +Cloud Dragon|Portal|46|R|{5}{U}|Creature - Illusion Dragon|5|4|Flying$Cloud Dragon can block only creatures with flying.| +Cloud Pirates|Portal|47|C|{U}|Creature - Human Pirate|1|1|Flying$Cloud Pirates can block only creatures with flying.| +Cloud Spirit|Portal|48|U|{2}{U}|Creature - Spirit|3|1|Flying$Cloud Spirit can block only creatures with flying.| +Command of Unsummoning|Portal|49|U|{2}{U}|Instant|||Cast Command of Unsummoning only during the declare attackers step and only if you've been attacked this step.$Return one or two target attacking creatures to their owner's hand.| +Coral Eel|Portal|50|C|{1}{U}|Creature - Fish|2|1|| +Cruel Fate|Portal|51|R|{4}{U}|Sorcery|||Look at the top five cards of target opponent's library. Put one of those cards into that player's graveyard and the rest on top of his or her library in any order.| +Deep-Sea Serpent|Portal|52|U|{4}{U}{U}|Creature - Serpent|5|5|Deep-Sea Serpent can't attack unless defending player controls an Island.| +Deja Vu|Portal|53|C|{2}{U}|Sorcery|||Return target sorcery card from your graveyard to your hand.| +Djinn of the Lamp|Portal|54|R|{5}{U}{U}|Creature - Djinn|5|6|Flying| +Exhaustion|Portal|55|R|{2}{U}|Sorcery|||Creatures and lands target opponent controls don't untap during his or her next untap step.| +Flux|Portal|56|U|{2}{U}|Sorcery|||Each player discards any number of cards, then draws that many cards.$Draw a card.| +Giant Octopus|Portal|57|C|{3}{U}|Creature - Octopus|3|3|| +Horned Turtle|Portal|58|C|{2}{U}|Creature - Turtle|1|4|| +Ingenious Thief|Portal|59|U|{1}{U}|Creature - Human Rogue|1|1|Flying$When Ingenious Thief enters the battlefield, look at target player's hand.| +Man-o'-War|Portal|60|U|{2}{U}|Creature - Jellyfish|2|2|When Man-o'-War enters the battlefield, return target creature to its owner's hand.| +Merfolk of the Pearl Trident|Portal|61|C|{U}|Creature - Merfolk|1|1|| +Mystic Denial|Portal|62|U|{1}{U}{U}|Instant|||Counter target creature or sorcery spell.| +Omen|Portal|63|C|{1}{U}|Sorcery|||Look at the top three cards of your library, then put them back in any order. You may shuffle your library.$Draw a card.| +Owl Familiar|Portal|64|C|{1}{U}|Creature - Bird|1|1|Flying$When Owl Familiar enters the battlefield, draw a card, then discard a card.| +Personal Tutor|Portal|65|U|{U}|Sorcery|||Search your library for a sorcery card and reveal that card. Shuffle your library, then put the card on top of it.| +Phantom Warrior|Portal|66|R|{1}{U}{U}|Creature - Illusion Warrior|2|2|Phantom Warrior is unblockable.| +Prosperity|Portal|67|R|{X}{U}|Sorcery|||Each player draws X cards.| +Snapping Drake|Portal|68|C|{3}{U}|Creature - Drake|3|2|Flying| +Sorcerous Sight|Portal|69|C|{U}|Sorcery|||Look at target opponent's hand.$$Draw a card.| +Storm Crow|Portal|70|C|{1}{U}|Creature - Bird|1|2|Flying (This creature can't be blocked except by creatures with flying or reach.)| +Symbol of Unsummoning|Portal|71|C|{2}{U}|Sorcery|||Return target creature to its owner's hand.$$Draw a card.| +Taunt|Portal|72|R|{U}|Sorcery|||During target player's next turn, creatures that player controls attack you if able.| +Theft of Dreams|Portal|73|U|{2}{U}|Sorcery|||Draw a card for each tapped creature target opponent controls.| +Thing from the Deep|Portal|74|R|{6}{U}{U}{U}|Creature - Leviathan|9|9|Whenever Thing from the Deep attacks, sacrifice it unless you sacrifice an Island.| +Tidal Surge|Portal|75|C|{1}{U}|Sorcery|||Tap up to three target creatures without flying.| +Time Ebb|Portal|76|C|{2}{U}|Sorcery|||Put target creature on top of its owner's library.| +Touch of Brilliance|Portal|77|C|{3}{U}|Sorcery|||Draw two cards.| +Wind Drake|Portal|78|C|{2}{U}|Creature - Drake|2|2|Flying| +Withering Gaze|Portal|79|U|{2}{U}|Sorcery|||Target opponent reveals his or her hand. You draw a card for each Forest and green card in it.| +Alluring Scent|Portal|80|R|{1}{G}{G}|Sorcery|||All creatures able to block target creature this turn do so.| +Anaconda|Portal|81|U|{3}{G}|Creature - Snake|3|3|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| +Anaconda|Portal|82|U|{3}{G}|Creature - Snake|3|3|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| +Bee Sting|Portal|83|U|{3}{G}|Sorcery|||Bee Sting deals 2 damage to target creature or player.| +Bull Hippo|Portal|84|U|{3}{G}|Creature - Hippo|3|3|Islandwalk| +Charging Rhino|Portal|85|R|{3}{G}{G}|Creature - Rhino|4|4|Charging Rhino can't be blocked by more than one creature.| +Deep Wood|Portal|86|U|{1}{G}|Instant|||Cast Deep Wood only during the declare attackers step and only if you've been attacked this step.$Prevent all damage that would be dealt to you this turn by attacking creatures.| +Elite Cat Warrior|Portal|87|C|{2}{G}|Creature - Cat Warrior|2|3|Forestwalk| +Elite Cat Warrior|Portal|88|C|{2}{G}|Creature - Cat Warrior|2|3|Forestwalk| +Elven Cache|Portal|89|C|{2}{G}{G}|Sorcery|||Return target card from your graveyard to your hand.| +Elvish Ranger|Portal|90|C|{2}{G}|Creature - Elf|4|1|| +Fruition|Portal|91|C|{G}|Sorcery|||You gain 1 life for each Forest on the battlefield.| +Giant Spider|Portal|92|C|{3}{G}|Creature - Spider|2|4|Reach (This creature can block creatures with flying.)| +Gorilla Warrior|Portal|93|C|{2}{G}|Creature - Ape Warrior|3|2|| +Grizzly Bears|Portal|94|C|{1}{G}|Creature - Bear|2|2|| +Hurricane|Portal|95|R|{X}{G}|Sorcery|||Hurricane deals X damage to each creature with flying and each player.| +Jungle Lion|Portal|96|C|{G}|Creature - Cat|2|1|Jungle Lion can't block.| +Mobilize|Portal|97|C|{G}|Sorcery|||Untap all creatures you control.| +Monstrous Growth|Portal|98|C|{1}{G}|Sorcery|||Target creature gets +4/+4 until end of turn.| +Monstrous Growth|Portal|99|C|{1}{G}|Sorcery|||Target creature gets +4/+4 until end of turn.| Moon Sprite|Portal|100|U|{1}{G}|Creature - Faerie|1|1|Flying| Natural Order|Portal|101|R|{2}{G}{G}|Sorcery|||As an additional cost to cast Natural Order, sacrifice a green creature.$Search your library for a green creature card and put it onto the battlefield. Then shuffle your library.| -Mountain|Portal|101|L||Basic Land - Mountain|||R| -Mountain|Portal|101|L||Basic Land - Mountain|||R| -Mountain|Portal|101|L||Basic Land - Mountain|||R| -Mountain|Portal|101|L||Basic Land - Mountain|||R| -Blaze|Portal|102|U|{X}{R}|Sorcery|||Blaze deals X damage to target creature or player.| -Blaze|Portal|102|U|{X}{R}|Sorcery|||Blaze deals X damage to target creature or player.| +Natural Spring|Portal|102|U|{3}{G}{G}|Sorcery|||Target player gains 8 life.| Nature's Cloak|Portal|103|R|{2}{G}|Sorcery|||Green creatures you control gain forestwalk until end of turn.| +Nature's Lore|Portal|104|C|{1}{G}|Sorcery|||Search your library for a Forest card and put that card onto the battlefield. Then shuffle your library.| Needle Storm|Portal|105|U|{2}{G}|Sorcery|||Needle Storm deals 4 damage to each creature with flying.| Panther Warriors|Portal|106|C|{4}{G}|Creature - Cat Warrior|6|3|| Plant Elemental|Portal|107|U|{1}{G}|Creature - Plant Elemental|3|4|When Plant Elemental enters the battlefield, sacrifice it unless you sacrifice a Forest.| -Lava Axe|Portal|107|C|{4}{R}|Sorcery|||Lava Axe deals 5 damage to target player.| Primeval Force|Portal|108|R|{2}{G}{G}{G}|Creature - Elemental|8|8|When Primeval Force enters the battlefield, sacrifice it unless you sacrifice three Forests.| Redwood Treefolk|Portal|109|C|{4}{G}|Creature - Treefolk|3|6|| -Dread Reaper|Portal|11|R|{3}{B}{B}{B}|Creature - Horror|6|5|Flying$When Dread Reaper enters the battlefield, you lose 5 life.| Rowan Treefolk|Portal|110|C|{3}{G}|Creature - Treefolk|3|4|| Spined Wurm|Portal|111|C|{4}{G}|Creature - Wurm|5|4|| +Stalking Tiger|Portal|112|C|{3}{G}|Creature - Cat|3|3|Stalking Tiger can't be blocked by more than one creature.| Summer Bloom|Portal|113|R|{1}{G}|Sorcery|||You may play up to three additional lands this turn.| Sylvan Tutor|Portal|114|R|{G}|Sorcery|||Search your library for a creature card and reveal that card. Shuffle your library, then put the card on top of it.| -Raging Goblin|Portal|114|C|{R}|Creature - Goblin Berserker|1|1|Haste (This creature can attack and {tap} as soon as it comes under your control.)| -Raging Goblin|Portal|114|C|{R}|Creature - Goblin Berserker|1|1|Haste (This creature can attack and {tap} as soon as it comes under your control.)| Thundering Wurm|Portal|115|R|{2}{G}|Creature - Wurm|4|4|When Thundering Wurm enters the battlefield, sacrifice it unless you discard a land card.| Treetop Defense|Portal|116|R|{1}{G}|Instant|||Cast Treetop Defense only during the declare attackers step and only if you've been attacked this step.$Creatures you control gain reach until end of turn. (They can block creatures with flying.)| -Spitting Earth|Portal|116|C|{1}{R}|Sorcery|||Spitting Earth deals damage to target creature equal to the number of Mountains you control.| +Untamed Wilds|Portal|117|U|{2}{G}|Sorcery|||Search your library for a basic land card and put that card onto the battlefield. Then shuffle your library.| Whiptail Wurm|Portal|118|U|{6}{G}|Creature - Wurm|8|5|| Willow Dryad|Portal|119|C|{G}|Creature - Dryad|1|1|Forestwalk| -Volcanic Hammer|Portal|119|C|{1}{R}|Sorcery|||Volcanic Hammer deals 3 damage to target creature or player.| -Dry Spell|Portal|12|U|{1}{B}|Sorcery|||Dry Spell deals 1 damage to each creature and each player.| Winter's Grasp|Portal|120|U|{1}{G}{G}|Sorcery|||Destroy target land.| Wood Elves|Portal|121|R|{2}{G}|Creature - Elf Scout|1|1|When Wood Elves enters the battlefield, search your library for a Forest card and put that card onto the battlefield. Then shuffle your library.| -Stone Rain|Portal|123|C|{2}{R}|Sorcery|||Destroy target land.| +Blaze|Portal|122|U|{X}{R}|Sorcery|||Blaze deals X damage to target creature or player.| +Blaze|Portal|123|U|{X}{R}|Sorcery|||Blaze deals X damage to target creature or player.| Boiling Seas|Portal|124|U|{3}{R}|Sorcery|||Destroy all Islands.| Burning Cloak|Portal|125|C|{R}|Sorcery|||Target creature gets +2/+0 until end of turn. Burning Cloak deals 2 damage to that creature.| Craven Giant|Portal|126|C|{2}{R}|Creature - Giant|4|1|Craven Giant can't block.| Desert Drake|Portal|127|U|{3}{R}|Creature - Drake|2|2|Flying| Devastation|Portal|128|R|{5}{R}{R}|Sorcery|||Destroy all creatures and lands.| -Fire Dragon|Portal|129|R|{6}{R}{R}{R}|Creature - Dragon|6|6|Flying$When Fire Dragon enters the battlefield, it deals damage equal to the number of Mountains you control to target creature.| -Angelic Blessing|Portal|129|C|{2}{W}|Sorcery|||Target creature gets +3/+3 and gains flying until end of turn. (It can't be blocked except by creatures with flying or reach.)| -Ebon Dragon|Portal|13|R|{5}{B}{B}|Creature - Dragon|5|4|Flying$When Ebon Dragon enters the battlefield, you may have target opponent discard a card.| +Earthquake|Portal|129|R|{X}{R}|Sorcery|||Earthquake deals X damage to each creature without flying and each player.| +Fire Dragon|Portal|130|R|{6}{R}{R}{R}|Creature - Dragon|6|6|Flying$When Fire Dragon enters the battlefield, it deals damage equal to the number of Mountains you control to target creature.| Fire Imp|Portal|131|U|{2}{R}|Creature - Imp|2|1|When Fire Imp enters the battlefield, it deals 2 damage to target creature.| -Archangel|Portal|131|R|{5}{W}{W}|Creature - Angel|5|5|Flying, vigilance| Fire Snake|Portal|132|C|{4}{R}|Creature - Snake|3|1|When Fire Snake dies, destroy target land.| -Armageddon|Portal|132|R|{3}{W}|Sorcery|||Destroy all lands.| Fire Tempest|Portal|133|R|{5}{R}{R}|Sorcery|||Fire Tempest deals 6 damage to each creature and each player.| Flashfires|Portal|134|U|{3}{R}|Sorcery|||Destroy all Plains.| Forked Lightning|Portal|135|R|{3}{R}|Sorcery|||Forked Lightning deals 4 damage divided as you choose among one, two, or three target creatures.| -Breath of Life|Portal|135|C|{3}{W}|Sorcery|||Return target creature card from your graveyard to the battlefield.| Goblin Bully|Portal|136|C|{1}{R}|Creature - Goblin|2|1|| Highland Giant|Portal|137|C|{2}{R}{R}|Creature - Giant|3|4|| Hill Giant|Portal|138|C|{3}{R}|Creature - Giant|3|3|| -Path of Peace|Portal|138|C|{3}{W}|Sorcery|||Destroy target creature. Its owner gains 4 life.| Hulking Cyclops|Portal|139|U|{3}{R}{R}|Creature - Cyclops|5|5|Hulking Cyclops can't block.| -Endless Cockroaches|Portal|14|R|{1}{B}{B}|Creature - Insect|1|1|When Endless Cockroaches dies, return it to its owner's hand.| -Hand of Death|Portal|14|C|{2}{B}|Sorcery|||Destroy target nonblack creature.| -Hand of Death|Portal|14|C|{2}{B}|Sorcery|||Destroy target nonblack creature.| Hulking Goblin|Portal|140|C|{1}{R}|Creature - Goblin|2|2|Hulking Goblin can't block.| Last Chance|Portal|141|R|{R}{R}|Sorcery|||Take an extra turn after this one. At the beginning of that turn's end step, you lose the game.| +Lava Axe|Portal|142|C|{4}{R}|Sorcery|||Lava Axe deals 5 damage to target player.| Lava Flow|Portal|143|U|{3}{R}{R}|Sorcery|||Destroy target creature or land.| Lizard Warrior|Portal|144|C|{3}{R}|Creature - Lizard Warrior|4|2|| Minotaur Warrior|Portal|145|C|{2}{R}|Creature - Minotaur Warrior|2|3|| Mountain Goat|Portal|146|U|{R}|Creature - Goat|1|1|Mountainwalk| Pillaging Horde|Portal|147|R|{2}{R}{R}|Creature - Human Barbarian|5|5|When Pillaging Horde enters the battlefield, sacrifice it unless you discard a card at random.| Pyroclasm|Portal|148|R|{1}{R}|Sorcery|||Pyroclasm deals 2 damage to each creature.| -Stalking Tiger|Portal|149|C|{3}{G}|Creature - Cat|3|3|Stalking Tiger can't be blocked by more than one creature.| Raging Cougar|Portal|149|C|{2}{R}|Creature - Cat|2|2|Haste| -Feral Shadow|Portal|15|C|{2}{B}|Creature - Nightstalker|2|1|Flying| +Raging Goblin|Portal|150|C|{R}|Creature - Goblin Berserker|1|1|Haste (This creature can attack and {tap} as soon as it comes under your control.)| +Raging Goblin|Portal|151|C|{R}|Creature - Goblin Berserker|1|1|Haste (This creature can attack and {tap} as soon as it comes under your control.)| Raging Minotaur|Portal|152|C|{2}{R}{R}|Creature - Minotaur Berserker|3|3|Haste| Rain of Salt|Portal|153|U|{4}{R}{R}|Sorcery|||Destroy two target lands.| Scorching Spear|Portal|154|C|{R}|Sorcery|||Scorching Spear deals 1 damage to target creature or player.| Scorching Winds|Portal|155|U|{R}|Instant|||Cast Scorching Winds only during the declare attackers step and only if you've been attacked this step.$Scorching Winds deals 1 damage to each attacking creature.| +Spitting Earth|Portal|156|C|{1}{R}|Sorcery|||Spitting Earth deals damage to target creature equal to the number of Mountains you control.| +Stone Rain|Portal|157|C|{2}{R}|Sorcery|||Destroy target land.| Thundermare|Portal|158|R|{5}{R}|Creature - Elemental Horse|5|5|Haste (This creature can attack the turn it comes under your control.)$When Thundermare enters the battlefield, tap all other creatures.| Volcanic Dragon|Portal|159|R|{4}{R}{R}|Creature - Dragon|4|4|Flying$Haste (This creature can attack and {tap} as soon as it comes under your control.)| -Final Strike|Portal|16|R|{2}{B}{B}|Sorcery|||As an additional cost to cast Final Strike, sacrifice a creature.$Final Strike deals damage to target opponent equal to the sacrificed creature's power.| +Volcanic Hammer|Portal|160|C|{1}{R}|Sorcery|||Volcanic Hammer deals 3 damage to target creature or player.| Wall of Granite|Portal|161|U|{2}{R}|Creature - Wall|0|7|Defender (This creature can't attack.)| Winds of Change|Portal|162|R|{R}|Sorcery|||Each player shuffles the cards from his or her hand into his or her library, then draws that many cards.| Alabaster Dragon|Portal|163|R|{4}{W}{W}|Creature - Dragon|4|4|Flying$When Alabaster Dragon dies, shuffle it into its owner's library.| +Angelic Blessing|Portal|164|C|{2}{W}|Sorcery|||Target creature gets +3/+3 and gains flying until end of turn. (It can't be blocked except by creatures with flying or reach.)| +Archangel|Portal|165|R|{5}{W}{W}|Creature - Angel|5|5|Flying, vigilance| Ardent Militia|Portal|166|U|{4}{W}|Creature - Human Soldier|2|5|Vigilance| -Plains|Portal|166|L||Basic Land - Plains|||W| -Plains|Portal|166|L||Basic Land - Plains|||W| -Plains|Portal|166|L||Basic Land - Plains|||W| -Plains|Portal|166|L||Basic Land - Plains|||W| +Armageddon|Portal|167|R|{3}{W}|Sorcery|||Destroy all lands.| Armored Pegasus|Portal|168|C|{1}{W}|Creature - Pegasus|1|2|Flying| Blessed Reversal|Portal|169|R|{1}{W}|Instant|||You gain 3 life for each creature attacking you.| -Island|Portal|169|L||Basic Land - Island|||U| -Island|Portal|169|L||Basic Land - Island|||U| -Island|Portal|169|L||Basic Land - Island|||U| -Island|Portal|169|L||Basic Land - Island|||U| -Gravedigger|Portal|17|U|{3}{B}|Creature - Zombie|2|2|When Gravedigger enters the battlefield, you may return target creature card from your graveyard to your hand.| Blinding Light|Portal|170|R|{2}{W}|Sorcery|||Tap all nonwhite creatures.| Border Guard|Portal|171|C|{2}{W}|Creature - Human Soldier|1|4|| -Swamp|Portal|172|L||Basic Land - Swamp|||B| -Swamp|Portal|172|L||Basic Land - Swamp|||B| -Swamp|Portal|172|L||Basic Land - Swamp|||B| -Swamp|Portal|172|L||Basic Land - Swamp|||B| +Breath of Life|Portal|172|C|{3}{W}|Sorcery|||Return target creature card from your graveyard to the battlefield.| Charging Paladin|Portal|173|U|{2}{W}|Creature - Human Knight|2|2|Whenever Charging Paladin attacks, it gets +0/+3 until end of turn.| Defiant Stand|Portal|174|U|{1}{W}|Instant|||Cast Defiant Stand only during the declare attackers step and only if you've been attacked this step.$Target creature gets +1/+3 until end of turn. Untap that creature.| Devoted Hero|Portal|175|C|{W}|Creature - Elf Soldier|1|2|| False Peace|Portal|176|C|{W}|Sorcery|||Target player skips all combat phases of his or her next turn.| Fleet-Footed Monk|Portal|177|C|{1}{W}|Creature - Human Monk|1|1|Fleet-Footed Monk can't be blocked by creatures with power 2 or greater.| Foot Soldiers|Portal|178|C|{3}{W}|Creature - Human Soldier|2|4|| -Forest|Portal|178|L||Basic Land - Forest|||G| -Forest|Portal|178|L||Basic Land - Forest|||G| -Forest|Portal|178|L||Basic Land - Forest|||G| -Forest|Portal|178|L||Basic Land - Forest|||G| Gift of Estates|Portal|179|R|{1}{W}|Sorcery|||If an opponent controls more lands than you, search your library for up to three Plains cards, reveal them, and put them into your hand. Then shuffle your library.| -Mind Rot|Portal|18|C|{2}{B}|Sorcery|||Target player discards two cards.| Harsh Justice|Portal|180|R|{2}{W}|Instant|||Cast Harsh Justice only during the declare attackers step and only if you've been attacked this step.$This turn, whenever an attacking creature deals combat damage to you, it deals that much damage to its controller.| Keen-Eyed Archers|Portal|181|C|{2}{W}|Creature - Elf Archer|2|2|Reach (This creature can block creatures with flying.)| Knight Errant|Portal|182|C|{1}{W}|Creature - Human Knight|2|2|| +Path of Peace|Portal|183|C|{3}{W}|Sorcery|||Destroy target creature. Its owner gains 4 life.| Regal Unicorn|Portal|184|C|{2}{W}|Creature - Unicorn|2|3|| Renewing Dawn|Portal|185|U|{1}{W}|Sorcery|||You gain 2 life for each Mountain target opponent controls.| Sacred Knight|Portal|186|C|{3}{W}|Creature - Human Knight|3|2|Sacred Knight can't be blocked by black and/or red creatures.| @@ -15024,102 +15095,31 @@ Stern Marshal|Portal|194|R|{2}{W}|Creature - Human Soldier|2|2|{tap}: Target cre Temporary Truce|Portal|195|R|{1}{W}|Sorcery|||Each player may draw up to two cards. For each card less than two a player draws this way, that player gains 2 life.| Valorous Charge|Portal|196|U|{1}{W}{W}|Sorcery|||White creatures get +2/+0 until end of turn.| Venerable Monk|Portal|197|U|{2}{W}|Creature - Human Monk Cleric|2|2|When Venerable Monk enters the battlefield, you gain 2 life.| +Vengeance|Portal|198|U|{3}{W}|Sorcery|||Destroy target tapped creature.| Wall of Swords|Portal|199|U|{3}{W}|Creature - Wall|3|5|Defender, flying (This creature can't attack, and it can block creatures with flying.)| -Assassin's Blade|Portal|2|U|{1}{B}|Instant|||Cast Assassin's Blade only during the declare attackers step and only if you've been attacked this step.$Destroy target nonblack attacking creature.| -Howling Fury|Portal|20|C|{2}{B}|Sorcery|||Target creature gets +4/+0 until end of turn.| -Muck Rats|Portal|20|C|{B}|Creature - Rat|1|1|| -Warrior's Charge|Portal|200|C|{2}{W}|Sorcery|||Creatures you control get +1/+1 until end of turn.| Warrior's Charge|Portal|200|C|{2}{W}|Sorcery|||Creatures you control get +1/+1 until end of turn.| +Warrior's Charge|Portal|201|C|{2}{W}|Sorcery|||Creatures you control get +1/+1 until end of turn.| Wrath of God|Portal|202|R|{2}{W}{W}|Sorcery|||Destroy all creatures. They can't be regenerated.| -King's Assassin|Portal|21|R|{1}{B}{B}|Creature - Human Assassin|1|1|{tap}: Destroy target tapped creature. Activate this ability only during your turn, before attackers are declared.| -Mercenary Knight|Portal|22|R|{2}{B}|Creature - Human Mercenary Knight|4|4|When Mercenary Knight enters the battlefield, sacrifice it unless you discard a creature card.| -Mind Knives|Portal|23|C|{1}{B}|Sorcery|||Target opponent discards a card at random.| -Nature's Ruin|Portal|26|U|{2}{B}|Sorcery|||Destroy all green creatures.| -Raise Dead|Portal|26|C|{B}|Sorcery|||Return target creature card from your graveyard to your hand.| -Noxious Toad|Portal|27|U|{2}{B}|Creature - Frog|1|1|When Noxious Toad dies, each opponent discards a card.| -Python|Portal|28|C|{1}{B}{B}|Creature - Snake|3|2|| -Vengeance|Portal|28|U|{3}{W}|Sorcery|||Destroy target tapped creature.| -Rain of Tears|Portal|29|U|{1}{B}{B}|Sorcery|||Destroy target land.| -Bog Imp|Portal|3|C|{1}{B}|Creature - Imp|1|1|Flying (This creature can't be blocked except by creatures with flying or reach.)| -Cloud Pirates|Portal|3|C|{U}|Creature - Human Pirate|1|1|Flying$Cloud Pirates can block only creatures with flying.| -Serpent Assassin|Portal|31|R|{3}{B}{B}|Creature - Snake Assassin|2|2|When Serpent Assassin enters the battlefield, you may destroy target nonblack creature.| -Serpent Warrior|Portal|32|C|{2}{B}|Creature - Snake Warrior|3|3|When Serpent Warrior enters the battlefield, you lose 3 life.| -Skeletal Crocodile|Portal|33|C|{3}{B}|Creature - Crocodile Skeleton|5|1|| -Skeletal Snake|Portal|34|C|{1}{B}|Creature - Snake Skeleton|2|1|| -Balance of Power|Portal|34|R|{3}{U}{U}|Sorcery|||If target opponent has more cards in hand than you, draw cards equal to the difference.| -Soul Shred|Portal|35|C|{3}{B}{B}|Sorcery|||Soul Shred deals 3 damage to target nonblack creature. You gain 3 life.| -Undying Beast|Portal|36|C|{3}{B}|Creature - Beast|3|2|When Undying Beast dies, put it on top of its owner's library.| -Vampiric Feast|Portal|37|U|{5}{B}{B}|Sorcery|||Vampiric Feast deals 4 damage to target creature or player and you gain 4 life.| -Vampiric Touch|Portal|38|C|{2}{B}|Sorcery|||Vampiric Touch deals 2 damage to target opponent and you gain 2 life.| -Virtue's Ruin|Portal|39|U|{2}{B}|Sorcery|||Destroy all white creatures.| -Bog Raiders|Portal|4|C|{2}{B}|Creature - Zombie|2|2|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| -Wicked Pact|Portal|40|R|{1}{B}{B}|Sorcery|||Destroy two target nonblack creatures. You lose 5 life.| -Ancestral Memories|Portal|41|R|{2}{U}{U}{U}|Sorcery|||Look at the top seven cards of your library. Put two of them into your hand and the rest into your graveyard.| -Mystic Denial|Portal|41|U|{1}{U}{U}|Instant|||Counter target creature or sorcery spell.| -Exhaustion|Portal|42|R|{2}{U}|Sorcery|||Creatures and lands target opponent controls don't untap during his or her next untap step.| -Baleful Stare|Portal|43|U|{2}{U}|Sorcery|||Target opponent reveals his or her hand. You draw a card for each Mountain and red card in it.| -Capricious Sorcerer|Portal|44|R|{2}{U}|Creature - Human Wizard|1|1|{tap}: Capricious Sorcerer deals 1 damage to target creature or player. Activate this ability only during your turn, before attackers are declared.| -Cloak of Feathers|Portal|45|C|{U}|Sorcery|||Target creature gains flying until end of turn.$$Draw a card.| -Cloud Dragon|Portal|46|R|{5}{U}|Creature - Illusion Dragon|5|4|Flying$Cloud Dragon can block only creatures with flying.| -Cloud Spirit|Portal|48|U|{2}{U}|Creature - Spirit|3|1|Flying$Cloud Spirit can block only creatures with flying.| -Command of Unsummoning|Portal|49|U|{2}{U}|Instant|||Cast Command of Unsummoning only during the declare attackers step and only if you've been attacked this step.$Return one or two target attacking creatures to their owner's hand.| -Bog Wraith|Portal|5|U|{3}{B}|Creature - Wraith|3|3|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| -Coral Eel|Portal|50|C|{1}{U}|Creature - Fish|2|1|| -Cruel Fate|Portal|51|R|{4}{U}|Sorcery|||Look at the top five cards of target opponent's library. Put one of those cards into that player's graveyard and the rest on top of his or her library in any order.| -Deep-Sea Serpent|Portal|52|U|{4}{U}{U}|Creature - Serpent|5|5|Deep-Sea Serpent can't attack unless defending player controls an Island.| -Dej Vu|Portal|53|C|{2}{U}|Sorcery|||Return target sorcery card from your graveyard to your hand.| -Djinn of the Lamp|Portal|54|R|{5}{U}{U}|Creature - Djinn|5|6|Flying| -Flux|Portal|56|U|{2}{U}|Sorcery|||Each player discards any number of cards, then draws that many cards.$Draw a card.| -Tidal Surge|Portal|56|C|{1}{U}|Sorcery|||Tap up to three target creatures without flying.| -Giant Octopus|Portal|57|C|{3}{U}|Creature - Octopus|3|3|| -Time Ebb|Portal|57|C|{2}{U}|Sorcery|||Put target creature on top of its owner's library.| -Horned Turtle|Portal|58|C|{2}{U}|Creature - Turtle|1|4|| -Touch of Brilliance|Portal|58|C|{3}{U}|Sorcery|||Draw two cards.| -Ingenious Thief|Portal|59|U|{1}{U}|Creature - Human Rogue|1|1|Flying$When Ingenious Thief enters the battlefield, look at target player's hand.| -Charging Bandits|Portal|6|U|{4}{B}|Creature - Human Rogue|3|3|Whenever Charging Bandits attacks, it gets +2/+0 until end of turn.| -Man-o'-War|Portal|60|U|{2}{U}|Creature - Jellyfish|2|2|When Man-o'-War enters the battlefield, return target creature to its owner's hand.| -Merfolk of the Pearl Trident|Portal|61|C|{U}|Creature - Merfolk|1|1|| -Alluring Scent|Portal|61|R|{1}{G}{G}|Sorcery|||All creatures able to block target creature this turn do so.| -Owl Familiar|Portal|64|C|{1}{U}|Creature - Bird|1|1|Flying$When Owl Familiar enters the battlefield, draw a card, then discard a card.| -Personal Tutor|Portal|65|U|{U}|Sorcery|||Search your library for a sorcery card and reveal that card. Shuffle your library, then put the card on top of it.| -Phantom Warrior|Portal|66|R|{1}{U}{U}|Creature - Illusion Warrior|2|2|Phantom Warrior is unblockable.| -Fruition|Portal|66|C|{G}|Sorcery|||You gain 1 life for each Forest on the battlefield.| -Prosperity|Portal|67|R|{X}{U}|Sorcery|||Each player draws X cards.| -Snapping Drake|Portal|68|C|{3}{U}|Creature - Drake|3|2|Flying| -Sorcerous Sight|Portal|69|C|{U}|Sorcery|||Look at target opponent's hand.$$Draw a card.| -Hurricane|Portal|69|R|{X}{G}|Sorcery|||Hurricane deals X damage to each creature with flying and each player.| -Craven Knight|Portal|7|C|{1}{B}|Creature - Human Knight|2|2|Craven Knight can't block.| -Storm Crow|Portal|70|C|{1}{U}|Creature - Bird|1|2|Flying (This creature can't be blocked except by creatures with flying or reach.)| -Symbol of Unsummoning|Portal|71|C|{2}{U}|Sorcery|||Return target creature to its owner's hand.$$Draw a card.| -Theft of Dreams|Portal|73|U|{2}{U}|Sorcery|||Draw a card for each tapped creature target opponent controls.| -Monstrous Growth|Portal|73|C|{1}{G}|Sorcery|||Target creature gets +4/+4 until end of turn.| -Monstrous Growth|Portal|73|C|{1}{G}|Sorcery|||Target creature gets +4/+4 until end of turn.| -Thing from the Deep|Portal|74|R|{6}{U}{U}{U}|Creature - Leviathan|9|9|Whenever Thing from the Deep attacks, sacrifice it unless you sacrifice an Island.| -Natural Spring|Portal|74|U|{3}{G}{G}|Sorcery|||Target player gains 8 life.| -Nature's Lore|Portal|75|C|{1}{G}|Sorcery|||Search your library for a Forest card and put that card onto the battlefield. Then shuffle your library.| -Wind Drake|Portal|78|C|{2}{U}|Creature - Drake|2|2|Flying| -Withering Gaze|Portal|79|U|{2}{U}|Sorcery|||Target opponent reveals his or her hand. You draw a card for each Forest and green card in it.| -Cruel Bargain|Portal|8|R|{B}{B}{B}|Sorcery|||Draw four cards. You lose half your life, rounded up.| -Anaconda|Portal|81|U|{3}{G}|Creature - Snake|3|3|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| -Anaconda|Portal|81|U|{3}{G}|Creature - Snake|3|3|Swampwalk (This creature is unblockable as long as defending player controls a Swamp.)| -Bee Sting|Portal|83|U|{3}{G}|Sorcery|||Bee Sting deals 2 damage to target creature or player.| -Bull Hippo|Portal|84|U|{3}{G}|Creature - Hippo|3|3|Islandwalk| -Charging Rhino|Portal|85|R|{3}{G}{G}|Creature - Rhino|4|4|Charging Rhino can't be blocked by more than one creature.| -Deep Wood|Portal|86|U|{1}{G}|Instant|||Cast Deep Wood only during the declare attackers step and only if you've been attacked this step.$Prevent all damage that would be dealt to you this turn by attacking creatures.| -Elite Cat Warrior|Portal|87|C|{2}{G}|Creature - Cat Warrior|2|3|Forestwalk| -Elite Cat Warrior|Portal|87|C|{2}{G}|Creature - Cat Warrior|2|3|Forestwalk| -Elven Cache|Portal|89|C|{2}{G}{G}|Sorcery|||Return target card from your graveyard to your hand.| -Untamed Wilds|Portal|89|U|{2}{G}|Sorcery|||Search your library for a basic land card and put that card onto the battlefield. Then shuffle your library.| -Cruel Tutor|Portal|9|R|{2}{B}|Sorcery|||Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life.| -Elvish Ranger|Portal|90|C|{2}{G}|Creature - Elf|4|1|| -Giant Spider|Portal|92|C|{3}{G}|Creature - Spider|2|4|Reach (This creature can block creatures with flying.)| -Gorilla Warrior|Portal|93|C|{2}{G}|Creature - Ape Warrior|3|2|| -Taunt|Portal|94|R|{U}|Sorcery|||During target player's next turn, creatures that player controls attack you if able.| -Grizzly Bears|Portal|94|C|{1}{G}|Creature - Bear|2|2|| -Earthquake|Portal|94|R|{X}{R}|Sorcery|||Earthquake deals X damage to each creature without flying and each player.| -Omen|Portal|96|C|{1}{U}|Sorcery|||Look at the top three cards of your library, then put them back in any order. You may shuffle your library.$Draw a card.| -Jungle Lion|Portal|96|C|{G}|Creature - Cat|2|1|Jungle Lion can't block.| -Mobilize|Portal|97|C|{G}|Sorcery|||Untap all creatures you control.| +Forest|Portal|203|L||Basic Land - Forest|||G| +Forest|Portal|204|L||Basic Land - Forest|||G| +Forest|Portal|205|L||Basic Land - Forest|||G| +Forest|Portal|206|L||Basic Land - Forest|||G| +Island|Portal|207|L||Basic Land - Island|||U| +Island|Portal|208|L||Basic Land - Island|||U| +Island|Portal|209|L||Basic Land - Island|||U| +Island|Portal|210|L||Basic Land - Island|||U| +Mountain|Portal|211|L||Basic Land - Mountain|||R| +Mountain|Portal|212|L||Basic Land - Mountain|||R| +Mountain|Portal|213|L||Basic Land - Mountain|||R| +Mountain|Portal|214|L||Basic Land - Mountain|||R| +Plains|Portal|215|L||Basic Land - Plains|||W| +Plains|Portal|216|L||Basic Land - Plains|||W| +Plains|Portal|217|L||Basic Land - Plains|||W| +Plains|Portal|218|L||Basic Land - Plains|||W| +Swamp|Portal|219|L||Basic Land - Swamp|||B| +Swamp|Portal|220|L||Basic Land - Swamp|||B| +Swamp|Portal|221|L||Basic Land - Swamp|||B| +Swamp|Portal|222|L||Basic Land - Swamp|||B| Abyssal Nightstalker|Portal Second Age|1|U|{3}{B}|Creature - Nightstalker|2|2|Whenever Abyssal Nightstalker attacks and isn't blocked, defending player discards a card.| Dakmor Scorpion|Portal Second Age|10|C|{1}{B}|Creature - Scorpion|2|1|| Goblin Matron|Portal Second Age|100|U|{2}{R}|Creature - Goblin|1|1|When Goblin Matron enters the battlefield, you may search your library for a Goblin card, reveal that card, and put it into your hand. If you do, shuffle your library.|