diff --git a/Mage.Client/release/sample-decks/Duel Decks/Ajani vs. Nicol Bolas/Ajani.dck b/Mage.Client/release/sample-decks/Duel Decks/Ajani vs. Nicol Bolas/Ajani.dck new file mode 100644 index 0000000000..1630608509 --- /dev/null +++ b/Mage.Client/release/sample-decks/Duel Decks/Ajani vs. Nicol Bolas/Ajani.dck @@ -0,0 +1,42 @@ +1 [DDH:28] Behemoth Sledge +1 [DDH:29] Naya Charm +2 [DDH:26] Recumbent Bliss +1 [DDH:27] Searing Meditation +1 [DDH:24] Lead the Stampede +1 [DDH:25] Griffin Guide +1 [DDH:22] Ajani's Mantra +1 [DDH:23] Lightning Helix +1 [DDH:20] Nacatl Hunt-Pride +1 [DDH:21] Firemane Angel +6 [DDH:40] Plains +2 [DDH:41] Mountain +1 [DDH:80] Mountain +2 [DDH:9] Ajani's Pridemate +1 [DDH:19] Pride of Lions +2 [DDH:8] Sylvan Ranger +4 [DDH:39] Forest +1 [DDH:7] Jade Mage +1 [DDH:17] Marisi's Twinclaws +1 [DDH:18] Ageless Entity +1 [DDH:6] Canyon Wildcat +1 [DDH:37] Vitu-Ghazi, the City-Tree +1 [DDH:5] Loam Lion +1 [DDH:15] Loxodon Hierarch +4 [DDH:38] Forest +1 [DDH:16] Spitemare +1 [DDH:4] Wild Nacatl +1 [DDH:35] Kazandu Refuge +1 [DDH:3] Essence Warden +1 [DDH:13] Woolly Thoctar +1 [DDH:36] Sapseep Forest +1 [DDH:14] Briarhorn +1 [DDH:2] Kird Ape +1 [DDH:33] Graypelt Refuge +1 [DDH:11] Grazing Gladehart +1 [DDH:1] Ajani Vengeant +2 [DDH:34] Jungle Shrine +1 [DDH:12] Fleetfoot Panther +1 [DDH:31] Titanic Ultimatum +2 [DDH:32] Evolving Wilds +1 [DDH:10] Qasali Pridemage +2 [DDH:30] Sylvan Bounty diff --git a/Mage.Client/release/sample-decks/Duel Decks/Ajani vs. Nicol Bolas/Nicol Bolas.dck b/Mage.Client/release/sample-decks/Duel Decks/Ajani vs. Nicol Bolas/Nicol Bolas.dck new file mode 100644 index 0000000000..06781e2523 --- /dev/null +++ b/Mage.Client/release/sample-decks/Duel Decks/Ajani vs. Nicol Bolas/Nicol Bolas.dck @@ -0,0 +1,39 @@ +2 [DDH:48] Hellfire Mongrel +1 [DDH:49] Dimir Cutpurse +1 [DDH:46] Brackwater Elemental +1 [DDH:68] Elder Mastery +1 [DDH:47] Morgue Toad +1 [DDH:69] Cruel Ultimatum +1 [DDH:44] Nightscape Familiar +1 [DDH:45] Slavering Nulls +1 [DDH:67] Slave of Bolas +1 [DDH:64] Icy Manipulator +1 [DDH:42] Nicol Bolas, Planeswalker +1 [DDH:65] Deep Analysis +1 [DDH:43] Surveilling Sprite +1 [DDH:62] Undermine +3 [DDH:41] Mountain +1 [DDH:63] Grixis Charm +2 [DDH:60] Obelisk of Grixis +1 [DDH:61] Recoil +2 [DDH:80] Mountain +1 [DDH:59] Countersquall +7 [DDH:79] Island +1 [DDH:57] Igneous Pouncer +1 [DDH:58] Vapor Snag +5 [DDH:77] Swamp +1 [DDH:55] Ogre Savant +4 [DDH:78] Swamp +1 [DDH:56] Jhessian Zombies +1 [DDH:75] Rupture Spire +1 [DDH:53] Fire-Field Ogre +2 [DDH:76] Terramorphic Expanse +1 [DDH:54] Shriekmaw +1 [DDH:51] Moroii +1 [DDH:73] Rise // Fall +2 [DDH:74] Crumbling Necropolis +1 [DDH:52] Blazing Specter +1 [DDH:71] Spite // Malice +1 [DDH:72] Pain // Suffering +1 [DDH:50] Steamcore Weird +1 [DDH:70] Profane Command diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/AgonizingDemise.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/AgonizingDemise.java new file mode 100644 index 0000000000..04902c038a --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/AgonizingDemise.java @@ -0,0 +1,118 @@ +/* + * 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.ajanivsnicolbolas; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author FenrisulfrX + */ +public class AgonizingDemise extends CardImpl { + + private static final FilterCreaturePermanent filterNonBlackCreature = new FilterCreaturePermanent("nonblack creature"); + static { + filterNonBlackCreature.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + } + + public AgonizingDemise(UUID ownerId) { + super(ownerId, 66, "Agonizing Demise", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{B}"); + this.expansionSetCode = "DDH"; + + // Kicker {1}{R} + this.addAbility(new KickerAbility("{1}{R}")); + + // Destroy target nonblack creature. It can't be regenerated. + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterNonBlackCreature)); + + //If Agonizing Demise was kicked, it deals damage equal to that creature's power to the creature's controller. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new AgonizingDemiseEffect(), + KickedCondition.getInstance(), + "If {this} was kicked, it deals damage equal to that creature's power to the creature's controller.")); + + } + + public AgonizingDemise(final AgonizingDemise card) { + super(card); + } + + @Override + public AgonizingDemise copy() { + return new AgonizingDemise(this); + } +} + +class AgonizingDemiseEffect extends OneShotEffect { + + public AgonizingDemiseEffect() { + super(Outcome.Damage); + } + + public AgonizingDemiseEffect(final AgonizingDemiseEffect effect) { + super(effect); + } + + @Override + public AgonizingDemiseEffect copy() { + return new AgonizingDemiseEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getPermanentOrLKIBattlefield(this.getTargetPointer().getFirst(game, source)); + if(permanent != null) { + Player controller = game.getPlayer(permanent.getControllerId()); + if(controller != null) { + int amount = permanent.getPower().getValue(); + controller.damage(amount, source.getSourceId(), game, false, true); + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/FleetfootPanther.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/FleetfootPanther.java new file mode 100644 index 0000000000..ea2f8ad2ea --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/FleetfootPanther.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ajanivsnicolbolas; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class FleetfootPanther extends mage.sets.planeshift.FleetfootPanther { + + public FleetfootPanther(UUID ownerId) { + super(ownerId); + this.cardNumber = 12; + this.expansionSetCode = "DDH"; + } + + public FleetfootPanther(final FleetfootPanther card) { + super(card); + } + + @Override + public FleetfootPanther copy() { + return new FleetfootPanther(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/MorgueToad.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/MorgueToad.java new file mode 100644 index 0000000000..deda1a6ced --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/MorgueToad.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ajanivsnicolbolas; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class MorgueToad extends mage.sets.planeshift.MorgueToad { + + public MorgueToad(UUID ownerId) { + super(ownerId); + this.cardNumber = 47; + this.expansionSetCode = "DDH"; + } + + public MorgueToad(final MorgueToad card) { + super(card); + } + + @Override + public MorgueToad copy() { + return new MorgueToad(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/OgreSavant.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/OgreSavant.java new file mode 100644 index 0000000000..f736132e7c --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/OgreSavant.java @@ -0,0 +1,74 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ajanivsnicolbolas; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.ManaWasSpentCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.ColoredManaSymbol; +import mage.constants.Rarity; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.ManaSpentToCastWatcher; + +/** + * + * @author FenrisulfrX + */ +public class OgreSavant extends CardImpl { + + public OgreSavant(UUID ownerId) { + super(ownerId, 55, "Ogre Savant", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{R}"); + this.expansionSetCode = "DDH"; + this.subtype.add("Ogre"); + this.subtype.add("Wizard"); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(),false); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(new ConditionalTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.U), + "if {U} was spent to cast {this}, return target creature to its owner's hand."), + new ManaSpentToCastWatcher()); + } + + public OgreSavant(final OgreSavant card) { + super(card); + } + + @Override + public OgreSavant copy() { + return new OgreSavant(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/PainSuffering.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/PainSuffering.java new file mode 100644 index 0000000000..3870b891a4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/PainSuffering.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ajanivsnicolbolas; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class PainSuffering extends mage.sets.invasion.PainSuffering { + + public PainSuffering(UUID ownerId) { + super(ownerId); + this.cardNumber = 72; + this.expansionSetCode = "DDH"; + } + + public PainSuffering(final PainSuffering card) { + super(card); + } + + @Override + public PainSuffering copy() { + return new PainSuffering(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/RiseFall.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/RiseFall.java new file mode 100644 index 0000000000..a3dcda0feb --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/RiseFall.java @@ -0,0 +1,53 @@ +/* + * 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.ajanivsnicolbolas; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class RiseFall extends mage.sets.dissension.RiseFall { + + public RiseFall(UUID ownerId) { + super(ownerId); + this.cardNumber = 73; + this.expansionSetCode = "DDH"; + + } + + public RiseFall(final RiseFall card) { + super(card); + } + + @Override + public RiseFall copy() { + return new RiseFall(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/SpiteMalice.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/SpiteMalice.java new file mode 100644 index 0000000000..6866de90cf --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/SpiteMalice.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ajanivsnicolbolas; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class SpiteMalice extends mage.sets.invasion.SpiteMalice { + + public SpiteMalice(UUID ownerId) { + super(ownerId); + this.cardNumber = 71; + this.expansionSetCode = "DDH"; + } + + public SpiteMalice(final SpiteMalice card) { + super(card); + } + + @Override + public SpiteMalice copy() { + return new SpiteMalice(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ajanivsnicolbolas/SteamcoreWeird.java b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/SteamcoreWeird.java new file mode 100644 index 0000000000..34a44cf20c --- /dev/null +++ b/Mage.Sets/src/mage/sets/ajanivsnicolbolas/SteamcoreWeird.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ajanivsnicolbolas; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class SteamcoreWeird extends mage.sets.izzetvsgolgari.SteamcoreWeird { + + public SteamcoreWeird(UUID ownerId) { + super(ownerId); + this.cardNumber = 50; + this.expansionSetCode = "DDH"; + } + + public SteamcoreWeird(final SteamcoreWeird card) { + super(card); + } + + @Override + public SteamcoreWeird copy() { + return new SteamcoreWeird(this); + } +} diff --git a/Mage.Sets/src/mage/sets/guildpact/OgreSavant.java b/Mage.Sets/src/mage/sets/guildpact/OgreSavant.java new file mode 100644 index 0000000000..8095753e59 --- /dev/null +++ b/Mage.Sets/src/mage/sets/guildpact/OgreSavant.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.guildpact; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class OgreSavant extends mage.sets.ajanivsnicolbolas.OgreSavant { + + public OgreSavant(UUID ownerId) { + super(ownerId); + this.cardNumber = 70; + this.expansionSetCode = "GPT"; + } + + public OgreSavant(final OgreSavant card) { + super(card); + } + + @Override + public OgreSavant copy() { + return new OgreSavant(this); + } +} diff --git a/Mage.Sets/src/mage/sets/guildpact/SteamcoreWeird.java b/Mage.Sets/src/mage/sets/guildpact/SteamcoreWeird.java new file mode 100644 index 0000000000..a27ab8e1f8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/guildpact/SteamcoreWeird.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.guildpact; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class SteamcoreWeird extends mage.sets.izzetvsgolgari.SteamcoreWeird { + + public SteamcoreWeird(UUID ownerId) { + super(ownerId); + this.cardNumber = 35; + this.expansionSetCode = "GPT"; + } + + public SteamcoreWeird(final SteamcoreWeird card) { + super(card); + } + + @Override + public SteamcoreWeird copy() { + return new SteamcoreWeird(this); + } +} diff --git a/Mage.Sets/src/mage/sets/invasion/AgonizingDemise.java b/Mage.Sets/src/mage/sets/invasion/AgonizingDemise.java new file mode 100644 index 0000000000..df0cf3c0a6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/invasion/AgonizingDemise.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.invasion; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class AgonizingDemise extends mage.sets.ajanivsnicolbolas.AgonizingDemise { + + public AgonizingDemise(UUID ownerId) { + super(ownerId); + this.cardNumber = 92; + this.expansionSetCode = "INV"; + } + + public AgonizingDemise(final AgonizingDemise card) { + super(card); + } + + @Override + public AgonizingDemise copy() { + return new AgonizingDemise(this); + } +} diff --git a/Mage.Sets/src/mage/sets/invasion/PainSuffering.java b/Mage.Sets/src/mage/sets/invasion/PainSuffering.java new file mode 100644 index 0000000000..13b6baefa6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/invasion/PainSuffering.java @@ -0,0 +1,68 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.invasion; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.TargetPlayer; +import mage.target.common.TargetLandPermanent; + +/** + * + * @author FenrisulfrX + */ +public class PainSuffering extends SplitCard { + + public PainSuffering(UUID ownerId) { + super(ownerId, 294, "Pain", "Suffering", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{B}", "{3}{R}", false); + this.expansionSetCode = "INV"; + + // Pain + // Target player discards a card. + this.getLeftHalfCard().getSpellAbility().addEffect(new DiscardTargetEffect(1)); + this.getLeftHalfCard().getSpellAbility().addTarget(new TargetPlayer()); + + // Suffering + // Destroy target land. + this.getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getRightHalfCard().getSpellAbility().addTarget(new TargetLandPermanent()); + } + + public PainSuffering(final PainSuffering card) { + super(card); + } + + @Override + public PainSuffering copy() { + return new PainSuffering(this); + } +} diff --git a/Mage.Sets/src/mage/sets/invasion/SpiteMalice.java b/Mage.Sets/src/mage/sets/invasion/SpiteMalice.java new file mode 100644 index 0000000000..4218ef0da1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/invasion/SpiteMalice.java @@ -0,0 +1,84 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.invasion; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterSpell; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetSpell; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author FenrisulfrX + */ +public class SpiteMalice extends SplitCard { + + private static final FilterSpell filterNonCreatureSpell = new FilterSpell("noncreature spell"); + static { + filterNonCreatureSpell.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); + } + + private static final FilterCreaturePermanent filterNonBlackCreature = new FilterCreaturePermanent("nonblack creature"); + static { + filterNonBlackCreature.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + } + + public SpiteMalice(UUID ownerId) { + super(ownerId, 293, "Spite", "Malice", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{3}{U}", "{3}{B}", false); + this.expansionSetCode = "INV"; + + // Spite + // Counter target noncreature spell. + this.getLeftHalfCard().getSpellAbility().addEffect(new CounterTargetEffect()); + this.getLeftHalfCard().getSpellAbility().addTarget(new TargetSpell(filterNonCreatureSpell)); + + // Malice + // Destroy target nonblack creature. It can't be regenerated. + this.getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect(true)); + this.getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(filterNonBlackCreature)); + } + + public SpiteMalice(final SpiteMalice card) { + super(card); + } + + @Override + public SpiteMalice copy() { + return new SpiteMalice(this); + } +} diff --git a/Mage.Sets/src/mage/sets/izzetvsgolgari/OgreSavant.java b/Mage.Sets/src/mage/sets/izzetvsgolgari/OgreSavant.java new file mode 100644 index 0000000000..0f7b0bd3e3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/izzetvsgolgari/OgreSavant.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.izzetvsgolgari; + +import java.util.UUID; + +/** + * + * @author FenrisulfrX + */ +public class OgreSavant extends mage.sets.ajanivsnicolbolas.OgreSavant { + + public OgreSavant(UUID ownerId) { + super(ownerId); + this.cardNumber = 9; + this.expansionSetCode = "DDJ"; + } + + public OgreSavant(final OgreSavant card) { + super(card); + } + + @Override + public OgreSavant copy() { + return new OgreSavant(this); + } +} diff --git a/Mage.Sets/src/mage/sets/izzetvsgolgari/SteamcoreWeird.java b/Mage.Sets/src/mage/sets/izzetvsgolgari/SteamcoreWeird.java new file mode 100644 index 0000000000..311c95af78 --- /dev/null +++ b/Mage.Sets/src/mage/sets/izzetvsgolgari/SteamcoreWeird.java @@ -0,0 +1,75 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.izzetvsgolgari; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.ManaWasSpentCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.ColoredManaSymbol; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; +import mage.watchers.common.ManaSpentToCastWatcher; + +/** + * + * @author FenrisulfrX + */ +public class SteamcoreWeird extends CardImpl { + + public SteamcoreWeird(UUID ownerId) { + super(ownerId, 7, "Steamcore Weird", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{U}"); + this.expansionSetCode = "DDJ"; + this.subtype.add("Weird"); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // When Steamcore Weird enters the battlefield, if {R} was spent to cast Steamcore Weird, it deals 2 damage to target creature or player. + TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(new ConditionalTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.R), + "if {R} was spent to cast {this}, it deals 2 damage to target creature or player."), + new ManaSpentToCastWatcher()); + } + + public SteamcoreWeird(final SteamcoreWeird card) { + super(card); + } + + @Override + public SteamcoreWeird copy() { + return new SteamcoreWeird(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planeshift/FleetfootPanther.java b/Mage.Sets/src/mage/sets/planeshift/FleetfootPanther.java new file mode 100644 index 0000000000..337c31bbf4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planeshift/FleetfootPanther.java @@ -0,0 +1,77 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planeshift; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author FenrisulfrX + */ +public class FleetfootPanther extends CardImpl { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("green or white creature you control"); + + static { + filter.add(new ColorPredicate(ObjectColor.GREEN)); + filter.add(new ColorPredicate(ObjectColor.WHITE)); + } + + public FleetfootPanther(UUID ownerId) { + super(ownerId, 108, "Fleetfoot Panther", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}{W}"); + this.expansionSetCode = "PLS"; + this.subtype.add("Cat"); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Flash + this.addAbility(FlashAbility.getInstance()); + // When Fleetfoot Panther enters the battlefield, return a green or white creature you control to its owner's hand. + this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false)); + } + + public FleetfootPanther(final FleetfootPanther card) { + super(card); + } + + @Override + public FleetfootPanther copy() { + return new FleetfootPanther(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planeshift/MorgueToad.java b/Mage.Sets/src/mage/sets/planeshift/MorgueToad.java new file mode 100644 index 0000000000..c12ceac6f8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planeshift/MorgueToad.java @@ -0,0 +1,68 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planeshift; + +import java.util.UUID; +import mage.MageInt; +import mage.Mana; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author FenrisulfrX + */ +public class MorgueToad extends CardImpl { + + public MorgueToad(UUID ownerId) { + super(ownerId, 46, "Morgue Toad", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "PLS"; + this.subtype.add("Frog"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Sacrifice Morgue Toad: Add {U}{R} to your mana pool. + SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 1, 0, 0, 0, 0), new SacrificeSourceCost()); + this.addAbility(ability); + } + + public MorgueToad(final MorgueToad card) { + super(card); + } + + @Override + public MorgueToad copy() { + return new MorgueToad(this); + } +}