Added some POR cards and a few misc cards. Fixed POR collector's numbers.

This commit is contained in:
fireshoes 2015-11-25 01:07:43 -06:00
parent ccece7841a
commit 692c7d2812
76 changed files with 4496 additions and 412 deletions

View file

@ -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}";
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -30,18 +30,13 @@ package mage.sets.magic2011;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.abilities.effects.common.discard.DiscardEachPlayerEffect;
import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Rarity; import mage.constants.Rarity;
import mage.constants.TargetController; import mage.constants.TargetController;
import mage.game.Game;
import mage.players.Player;
/** /**
* *

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -33,7 +33,7 @@ import java.util.UUID;
* *
* @author LevelX2 * @author LevelX2
*/ */
public class EliteCatWarrior extends mage.sets.portal.EliteCatWarrior { public class EliteCatWarrior extends mage.sets.portal.EliteCatWarrior1 {
public EliteCatWarrior(UUID ownerId) { public EliteCatWarrior(UUID ownerId) {
super(ownerId); super(ownerId);

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -33,20 +33,20 @@ import java.util.UUID;
* *
* @author Plopman * @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); super(ownerId);
this.cardNumber = 81; this.cardNumber = 81;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
} }
public Anaconda(final Anaconda card) { public Anaconda1(final Anaconda1 card) {
super(card); super(card);
} }
@Override @Override
public Anaconda copy() { public Anaconda1 copy() {
return new Anaconda(this); return new Anaconda1(this);
} }
} }

View file

@ -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);
}
}

View file

@ -33,20 +33,20 @@ import java.util.UUID;
* *
* @author Plopman * @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); super(ownerId);
this.cardNumber = 122; this.cardNumber = 122;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
} }
public Blaze(final Blaze card) { public Blaze1(final Blaze1 card) {
super(card); super(card);
} }
@Override @Override
public Blaze copy() { public Blaze1 copy() {
return new Blaze(this); return new Blaze1(this);
} }
} }

View file

@ -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);
}
}

View file

@ -38,7 +38,7 @@ public class BreathOfLife extends mage.sets.starter2000.BreathOfLife {
public BreathOfLife(UUID ownerId) { public BreathOfLife(UUID ownerId) {
super(ownerId); super(ownerId);
this.cardNumber = 135; this.cardNumber = 172;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
this.rarity = Rarity.COMMON; this.rarity = Rarity.COMMON;
} }

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -38,9 +38,9 @@ import mage.constants.Rarity;
* *
* @author Plopman * @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}"); super(ownerId, 87, "Elite Cat Warrior", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
this.subtype.add("Cat"); this.subtype.add("Cat");
@ -53,12 +53,12 @@ public class EliteCatWarrior extends CardImpl {
this.addAbility(new ForestwalkAbility()); this.addAbility(new ForestwalkAbility());
} }
public EliteCatWarrior(final EliteCatWarrior card) { public EliteCatWarrior1(final EliteCatWarrior1 card) {
super(card); super(card);
} }
@Override @Override
public EliteCatWarrior copy() { public EliteCatWarrior1 copy() {
return new EliteCatWarrior(this); return new EliteCatWarrior1(this);
} }
} }

View file

@ -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);
}
}

View file

@ -37,7 +37,7 @@ public class Exhaustion extends mage.sets.portalthreekingdoms.Exhaustion {
public Exhaustion(UUID ownerId) { public Exhaustion(UUID ownerId) {
super(ownerId); super(ownerId);
this.cardNumber = 42; this.cardNumber = 55;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
} }

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -33,20 +33,20 @@ import java.util.UUID;
* *
* @author anonymous * @author anonymous
*/ */
public class HandOfDeath extends mage.sets.starter2000.HandOfDeath { public class HandOfDeath1 extends mage.sets.starter2000.HandOfDeath {
public HandOfDeath(UUID ownerId) { public HandOfDeath1(UUID ownerId) {
super(ownerId); super(ownerId);
this.cardNumber = 14; this.cardNumber = 18;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
} }
public HandOfDeath(final HandOfDeath card) { public HandOfDeath1(final HandOfDeath1 card) {
super(card); super(card);
} }
@Override @Override
public HandOfDeath copy() { public HandOfDeath1 copy() {
return new HandOfDeath(this); return new HandOfDeath1(this);
} }
} }

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -33,20 +33,20 @@ import java.util.UUID;
* *
* @author Plopman * @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); super(ownerId);
this.cardNumber = 98; this.cardNumber = 98;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
} }
public MonstrousGrowth(final MonstrousGrowth card) { public MonstrousGrowth1(final MonstrousGrowth1 card) {
super(card); super(card);
} }
@Override @Override
public MonstrousGrowth copy() { public MonstrousGrowth1 copy() {
return new MonstrousGrowth(this); return new MonstrousGrowth1(this);
} }
} }

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -33,20 +33,20 @@ import java.util.UUID;
* *
* @author Plopman * @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); super(ownerId);
this.cardNumber = 150; this.cardNumber = 150;
this.expansionSetCode = "POR"; this.expansionSetCode = "POR";
} }
public RagingGoblin(final RagingGoblin card) { public RagingGoblin1(final RagingGoblin1 card) {
super(card); super(card);
} }
@Override @Override
public RagingGoblin copy() { public RagingGoblin1 copy() {
return new RagingGoblin(this); return new RagingGoblin1(this);
} }
} }

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -26,7 +26,7 @@ public class CardsInControllerHandCount implements DynamicValue {
@Override @Override
public String getMessage() { public String getMessage() {
return "card in your hand"; return "cards in your hand";
} }
@Override @Override

View file

@ -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.| 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.| 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| 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 <i>(This creature can't be blocked except by creatures with flying or reach.)</i>|
Bog Raiders|Portal|4|C|{2}{B}|Creature - Zombie|2|2|Swampwalk <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
Bog Wraith|Portal|5|U|{3}{B}|Creature - Wraith|3|3|Swampwalk <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
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 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 <i>(This creature can't be blocked except by creatures with flying or reach.)</i>|
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 <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
Anaconda|Portal|82|U|{3}{G}|Creature - Snake|3|3|Swampwalk <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
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 <i>(This creature can block creatures with flying.)</i>|
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| 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.| 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| Natural Spring|Portal|102|U|{3}{G}{G}|Sorcery|||Target player gains 8 life.|
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.|
Nature's Cloak|Portal|103|R|{2}{G}|Sorcery|||Green creatures you control gain forestwalk until end of turn.| 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.| 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|| 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.| 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.| 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|| 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|| Rowan Treefolk|Portal|110|C|{3}{G}|Creature - Treefolk|3|4||
Spined Wurm|Portal|111|C|{4}{G}|Creature - Wurm|5|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.| 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.| 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 <i>(This creature can attack and {tap} as soon as it comes under your control.)</i>|
Raging Goblin|Portal|114|C|{R}|Creature - Goblin Berserker|1|1|Haste <i>(This creature can attack and {tap} as soon as it comes under your control.)</i>|
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.| 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. <i>(They can block creatures with flying.)</i>| 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. <i>(They can block creatures with flying.)</i>|
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|| Whiptail Wurm|Portal|118|U|{6}{G}|Creature - Wurm|8|5||
Willow Dryad|Portal|119|C|{G}|Creature - Dryad|1|1|Forestwalk| 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.| 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.| 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.| 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.| 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.| 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| 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.| 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.| Earthquake|Portal|129|R|{X}{R}|Sorcery|||Earthquake deals X damage to each creature without flying and each player.|
Angelic Blessing|Portal|129|C|{2}{W}|Sorcery|||Target creature gets +3/+3 and gains flying until end of turn. <i>(It can't be blocked except by creatures with flying or reach.)</i>| 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.|
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.|
Fire Imp|Portal|131|U|{2}{R}|Creature - Imp|2|1|When Fire Imp enters the battlefield, it deals 2 damage 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.| 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.| 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.| 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.| 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|| Goblin Bully|Portal|136|C|{1}{R}|Creature - Goblin|2|1||
Highland Giant|Portal|137|C|{2}{R}{R}|Creature - Giant|3|4|| Highland Giant|Portal|137|C|{2}{R}{R}|Creature - Giant|3|4||
Hill Giant|Portal|138|C|{3}{R}|Creature - Giant|3|3|| 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.| 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.| 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.| 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.| 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|| Lizard Warrior|Portal|144|C|{3}{R}|Creature - Lizard Warrior|4|2||
Minotaur Warrior|Portal|145|C|{2}{R}|Creature - Minotaur Warrior|2|3|| Minotaur Warrior|Portal|145|C|{2}{R}|Creature - Minotaur Warrior|2|3||
Mountain Goat|Portal|146|U|{R}|Creature - Goat|1|1|Mountainwalk| 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.| 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.| 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| 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 <i>(This creature can attack and {tap} as soon as it comes under your control.)</i>|
Raging Goblin|Portal|151|C|{R}|Creature - Goblin Berserker|1|1|Haste <i>(This creature can attack and {tap} as soon as it comes under your control.)</i>|
Raging Minotaur|Portal|152|C|{2}{R}{R}|Creature - Minotaur Berserker|3|3|Haste| 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.| 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 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.| 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 <i>(This creature can attack the turn it comes under your control.)</i>$When Thundermare enters the battlefield, tap all other creatures.| Thundermare|Portal|158|R|{5}{R}|Creature - Elemental Horse|5|5|Haste <i>(This creature can attack the turn it comes under your control.)</i>$When Thundermare enters the battlefield, tap all other creatures.|
Volcanic Dragon|Portal|159|R|{4}{R}{R}|Creature - Dragon|4|4|Flying$Haste <i>(This creature can attack and {tap} as soon as it comes under your control.)</i>| Volcanic Dragon|Portal|159|R|{4}{R}{R}|Creature - Dragon|4|4|Flying$Haste <i>(This creature can attack and {tap} as soon as it comes under your control.)</i>|
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 <i>(This creature can't attack.)</i>| Wall of Granite|Portal|161|U|{2}{R}|Creature - Wall|0|7|Defender <i>(This creature can't attack.)</i>|
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.| 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.| 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. <i>(It can't be blocked except by creatures with flying or reach.)</i>|
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| Ardent Militia|Portal|166|U|{4}{W}|Creature - Human Soldier|2|5|Vigilance|
Plains|Portal|166|L||Basic Land - Plains|||W| Armageddon|Portal|167|R|{3}{W}|Sorcery|||Destroy all lands.|
Plains|Portal|166|L||Basic Land - Plains|||W|
Plains|Portal|166|L||Basic Land - Plains|||W|
Plains|Portal|166|L||Basic Land - Plains|||W|
Armored Pegasus|Portal|168|C|{1}{W}|Creature - Pegasus|1|2|Flying| 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.| 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.| Blinding Light|Portal|170|R|{2}{W}|Sorcery|||Tap all nonwhite creatures.|
Border Guard|Portal|171|C|{2}{W}|Creature - Human Soldier|1|4|| Border Guard|Portal|171|C|{2}{W}|Creature - Human Soldier|1|4||
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.|
Swamp|Portal|172|L||Basic Land - Swamp|||B|
Swamp|Portal|172|L||Basic Land - Swamp|||B|
Swamp|Portal|172|L||Basic Land - Swamp|||B|
Charging Paladin|Portal|173|U|{2}{W}|Creature - Human Knight|2|2|Whenever Charging Paladin attacks, it gets +0/+3 until end of turn.| 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.| 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|| 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.| 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.| 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|| 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.| 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.| 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 <i>(This creature can block creatures with flying.)</i>| Keen-Eyed Archers|Portal|181|C|{2}{W}|Creature - Elf Archer|2|2|Reach <i>(This creature can block creatures with flying.)</i>|
Knight Errant|Portal|182|C|{1}{W}|Creature - Human Knight|2|2|| 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|| 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.| 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.| 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.| 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.| 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.| 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 <i>(This creature can't attack, and it can block creatures with flying.)</i>| Wall of Swords|Portal|199|U|{3}{W}|Creature - Wall|3|5|Defender, flying <i>(This creature can't attack, and it can block creatures with flying.)</i>|
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|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.| 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.| Forest|Portal|203|L||Basic Land - Forest|||G|
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.| Forest|Portal|204|L||Basic Land - Forest|||G|
Mind Knives|Portal|23|C|{1}{B}|Sorcery|||Target opponent discards a card at random.| Forest|Portal|205|L||Basic Land - Forest|||G|
Nature's Ruin|Portal|26|U|{2}{B}|Sorcery|||Destroy all green creatures.| Forest|Portal|206|L||Basic Land - Forest|||G|
Raise Dead|Portal|26|C|{B}|Sorcery|||Return target creature card from your graveyard to your hand.| Island|Portal|207|L||Basic Land - Island|||U|
Noxious Toad|Portal|27|U|{2}{B}|Creature - Frog|1|1|When Noxious Toad dies, each opponent discards a card.| Island|Portal|208|L||Basic Land - Island|||U|
Python|Portal|28|C|{1}{B}{B}|Creature - Snake|3|2|| Island|Portal|209|L||Basic Land - Island|||U|
Vengeance|Portal|28|U|{3}{W}|Sorcery|||Destroy target tapped creature.| Island|Portal|210|L||Basic Land - Island|||U|
Rain of Tears|Portal|29|U|{1}{B}{B}|Sorcery|||Destroy target land.| Mountain|Portal|211|L||Basic Land - Mountain|||R|
Bog Imp|Portal|3|C|{1}{B}|Creature - Imp|1|1|Flying <i>(This creature can't be blocked except by creatures with flying or reach.)</i>| Mountain|Portal|212|L||Basic Land - Mountain|||R|
Cloud Pirates|Portal|3|C|{U}|Creature - Human Pirate|1|1|Flying$Cloud Pirates can block only creatures with flying.| Mountain|Portal|213|L||Basic Land - Mountain|||R|
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.| Mountain|Portal|214|L||Basic Land - Mountain|||R|
Serpent Warrior|Portal|32|C|{2}{B}|Creature - Snake Warrior|3|3|When Serpent Warrior enters the battlefield, you lose 3 life.| Plains|Portal|215|L||Basic Land - Plains|||W|
Skeletal Crocodile|Portal|33|C|{3}{B}|Creature - Crocodile Skeleton|5|1|| Plains|Portal|216|L||Basic Land - Plains|||W|
Skeletal Snake|Portal|34|C|{1}{B}|Creature - Snake Skeleton|2|1|| Plains|Portal|217|L||Basic Land - Plains|||W|
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.| Plains|Portal|218|L||Basic Land - Plains|||W|
Soul Shred|Portal|35|C|{3}{B}{B}|Sorcery|||Soul Shred deals 3 damage to target nonblack creature. You gain 3 life.| Swamp|Portal|219|L||Basic Land - Swamp|||B|
Undying Beast|Portal|36|C|{3}{B}|Creature - Beast|3|2|When Undying Beast dies, put it on top of its owner's library.| Swamp|Portal|220|L||Basic Land - Swamp|||B|
Vampiric Feast|Portal|37|U|{5}{B}{B}|Sorcery|||Vampiric Feast deals 4 damage to target creature or player and you gain 4 life.| Swamp|Portal|221|L||Basic Land - Swamp|||B|
Vampiric Touch|Portal|38|C|{2}{B}|Sorcery|||Vampiric Touch deals 2 damage to target opponent and you gain 2 life.| Swamp|Portal|222|L||Basic Land - Swamp|||B|
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 <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
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 <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
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 <i>(This creature can't be blocked except by creatures with flying or reach.)</i>|
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 <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
Anaconda|Portal|81|U|{3}{G}|Creature - Snake|3|3|Swampwalk <i>(This creature is unblockable as long as defending player controls a Swamp.)</i>|
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 <i>(This creature can block creatures with flying.)</i>|
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.|
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.| 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|| 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.| 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.|