From bc65223cd74ac987065ede0e891880edb8217127 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 1 Oct 2012 16:40:34 +0200 Subject: [PATCH] [RTR] 8 land 6 artifacts --- .../returntoravnica/AzoriusGuildgate.java | 64 ++++++++++ .../sets/returntoravnica/AzoriusKeyrune.java | 83 ++++++++++++ .../returntoravnica/ChromaticLantern.java | 67 ++++++++++ .../returntoravnica/GolgariGuildgate.java | 64 ++++++++++ .../sets/returntoravnica/GolgariKeyrune.java | 86 +++++++++++++ .../returntoravnica/GroveOfTheGuardian.java | 100 +++++++++++++++ .../sets/returntoravnica/IzzetGuildgate.java | 64 ++++++++++ .../sets/returntoravnica/IzzetKeyrune.java | 119 ++++++++++++++++++ .../sets/returntoravnica/RakdosGuildgate.java | 64 ++++++++++ .../sets/returntoravnica/RakdosKeyrune.java | 83 ++++++++++++ .../sets/returntoravnica/RoguesPassage.java | 72 +++++++++++ .../returntoravnica/SelesnyaGuildgate.java | 64 ++++++++++ .../sets/returntoravnica/SelesnyaKeyrune.java | 81 ++++++++++++ .../returntoravnica/TransguildPromenade.java | 65 ++++++++++ 14 files changed, 1076 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/AzoriusGuildgate.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/AzoriusKeyrune.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/ChromaticLantern.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/GolgariGuildgate.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/GolgariKeyrune.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/GroveOfTheGuardian.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/IzzetGuildgate.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/IzzetKeyrune.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/RakdosGuildgate.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/RakdosKeyrune.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/RoguesPassage.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/SelesnyaGuildgate.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/SelesnyaKeyrune.java create mode 100644 Mage.Sets/src/mage/sets/returntoravnica/TransguildPromenade.java diff --git a/Mage.Sets/src/mage/sets/returntoravnica/AzoriusGuildgate.java b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusGuildgate.java new file mode 100644 index 00000000000..6954f6db671 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusGuildgate.java @@ -0,0 +1,64 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; + +/** + * @author LevelX2 + */ +public class AzoriusGuildgate extends CardImpl { + + public AzoriusGuildgate(UUID ownerId) { + super(ownerId, 237, "Azorius Guildgate", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + this.subtype.add("Gate"); + + // Azorius Guildgate enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {W} or {U} to your mana pool. + this.addAbility(new WhiteManaAbility()); + this.addAbility(new BlueManaAbility()); + } + + public AzoriusGuildgate(final AzoriusGuildgate card) { + super(card); + } + + @Override + public AzoriusGuildgate copy() { + return new AzoriusGuildgate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/AzoriusKeyrune.java b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusKeyrune.java new file mode 100644 index 00000000000..6afc35f149e --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusKeyrune.java @@ -0,0 +1,83 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.Token; + +/** + * @author LevelX2 + */ +public class AzoriusKeyrune extends CardImpl { + + public AzoriusKeyrune(UUID ownerId) { + super(ownerId, 225, "Azorius Keyrune", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "RTR"; + + // {T}: Add {W} or {U} to your mana pool. + this.addAbility(new WhiteManaAbility()); + this.addAbility(new BlueManaAbility()); + + // {W}{U}: Azorius Keyrune becomes a 2/2 white and blue Bird artifact creature with flying until end of turn. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new AzoriusKeyruneToken(), "", Constants.Duration.EndOfTurn), new ManaCostsImpl("{W}{U}"))); + } + + public AzoriusKeyrune(final AzoriusKeyrune card) { + super(card); + } + + @Override + public AzoriusKeyrune copy() { + return new AzoriusKeyrune(this); + } + + private class AzoriusKeyruneToken extends Token { + AzoriusKeyruneToken() { + super("", "a 2/2 white and blue Bird artifact creature with flying"); + cardType.add(CardType.ARTIFACT); + cardType.add(CardType.CREATURE); + color.setWhite(true); + color.setBlue(true); + this.subtype.add("Bird"); + power = new MageInt(2); + toughness = new MageInt(2); + this.addAbility(FlyingAbility.getInstance()); + } + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/ChromaticLantern.java b/Mage.Sets/src/mage/sets/returntoravnica/ChromaticLantern.java new file mode 100644 index 00000000000..e7449735441 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/ChromaticLantern.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.mana.AnyColorManaAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterLandPermanent; + +/** + * @author LevelX2 + */ +public class ChromaticLantern extends CardImpl { + + public ChromaticLantern(UUID ownerId) { + super(ownerId, 226, "Chromatic Lantern", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "RTR"; + + // Lands you control have "{T}: Add one mana of any color to your mana pool." + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(new AnyColorManaAbility(), Constants.Duration.WhileOnBattlefield, new FilterLandPermanent("Lands"), false))); + + + // {T}: Add one mana of any color to your mana pool. + this.addAbility(new AnyColorManaAbility()); + + } + + public ChromaticLantern(final ChromaticLantern card) { + super(card); + } + + @Override + public ChromaticLantern copy() { + return new ChromaticLantern(this); + } +} + diff --git a/Mage.Sets/src/mage/sets/returntoravnica/GolgariGuildgate.java b/Mage.Sets/src/mage/sets/returntoravnica/GolgariGuildgate.java new file mode 100644 index 00000000000..ab863039d3a --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/GolgariGuildgate.java @@ -0,0 +1,64 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; + +/** + * @author LevelX2 + */ +public class GolgariGuildgate extends CardImpl { + + public GolgariGuildgate(UUID ownerId) { + super(ownerId, 239, "Golgari Guildgate", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + this.subtype.add("Gate"); + + // Golgari Guildgate enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {B} or {G} to your mana pool. + this.addAbility(new BlackManaAbility()); + this.addAbility(new GreenManaAbility()); + } + + public GolgariGuildgate(final GolgariGuildgate card) { + super(card); + } + + @Override + public GolgariGuildgate copy() { + return new GolgariGuildgate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/GolgariKeyrune.java b/Mage.Sets/src/mage/sets/returntoravnica/GolgariKeyrune.java new file mode 100644 index 00000000000..0a8747c0ef2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/GolgariKeyrune.java @@ -0,0 +1,86 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.Mana; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.Token; + +/** + * @author LevelX2 + */ +public class GolgariKeyrune extends CardImpl { + + public GolgariKeyrune(UUID ownerId) { + super(ownerId, 229, "Golgari Keyrune", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "RTR"; + + // {T}: Add {B} or {G} to your mana pool. + this.addAbility(new BlackManaAbility()); + this.addAbility(new GreenManaAbility()); + + // {B}{G}: Golgari Keyrune becomes a 2/2 black and green Insect artifact creature with deathtouch until end of turn. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GolgariKeyruneToken(), "", Constants.Duration.EndOfTurn), new ManaCostsImpl("{B}{G}"))); + } + + public GolgariKeyrune(final GolgariKeyrune card) { + super(card); + } + + @Override + public GolgariKeyrune copy() { + return new GolgariKeyrune(this); + } + + private class GolgariKeyruneToken extends Token { + GolgariKeyruneToken() { + super("", "a 2/2 black and green Insect artifact creature with deathtouch"); + cardType.add(CardType.ARTIFACT); + cardType.add(CardType.CREATURE); + color.setGreen(true); + color.setBlack(true); + this.subtype.add("Insect"); + power = new MageInt(2); + toughness = new MageInt(2); + this.addAbility(DeathtouchAbility.getInstance()); + } + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/GroveOfTheGuardian.java b/Mage.Sets/src/mage/sets/returntoravnica/GroveOfTheGuardian.java new file mode 100644 index 00000000000..ec37dd088c0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/GroveOfTheGuardian.java @@ -0,0 +1,100 @@ +/* + * 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.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.common.TapTargetCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.permanent.TappedPredicate; +import mage.game.permanent.token.Token; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * @author LevelX2 + */ +public class GroveOfTheGuardian extends CardImpl { + + private final static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); + + static { + filter.add(Predicates.not(new TappedPredicate())); + } + + public GroveOfTheGuardian(UUID ownerId) { + super(ownerId, 240, "Grove of the Guardian", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + + // {T}: Add {1} to your mana pool. + this.addAbility(new SimpleManaAbility(Constants.Zone.BATTLEFIELD, new Mana(0, 0, 0, 0, 0, 1, 0), new TapSourceCost())); + + // {3}{G}{W}, {T}, Tap two untapped creatures you control, Sacrifice Grove of the Guardian: Put an 8/8 green and white Elemental creature token with vigilance onto the battlefield. + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new CreateTokenEffect(new ElementalToken(), 1), new ManaCostsImpl("{3}{G}{W}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter, false))); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public GroveOfTheGuardian(final GroveOfTheGuardian card) { + super(card); + } + + @Override + public GroveOfTheGuardian copy() { + return new GroveOfTheGuardian(this); + } + + private class ElementalToken extends Token { + ElementalToken() { + super("Elemental", "an 8/8 green and white Elemental creature token with vigilance"); + + cardType.add(CardType.CREATURE); + color.setGreen(true); + color.setWhite(true); + this.subtype.add("Elemental"); + power = new MageInt(8); + toughness = new MageInt(8); + this.addAbility(VigilanceAbility.getInstance()); + } + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/IzzetGuildgate.java b/Mage.Sets/src/mage/sets/returntoravnica/IzzetGuildgate.java new file mode 100644 index 00000000000..7e553f1ffa2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/IzzetGuildgate.java @@ -0,0 +1,64 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; + +/** + * @author LevelX2 + */ +public class IzzetGuildgate extends CardImpl { + + public IzzetGuildgate(UUID ownerId) { + super(ownerId, 242, "Izzet Guildgate", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + this.subtype.add("Gate"); + + // Izzet Guildgate enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {U} or {R} to your mana pool. + this.addAbility(new BlueManaAbility()); + this.addAbility(new RedManaAbility()); + } + + public IzzetGuildgate(final IzzetGuildgate card) { + super(card); + } + + @Override + public IzzetGuildgate copy() { + return new IzzetGuildgate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/IzzetKeyrune.java b/Mage.Sets/src/mage/sets/returntoravnica/IzzetKeyrune.java new file mode 100644 index 00000000000..ba3eded1ee8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/IzzetKeyrune.java @@ -0,0 +1,119 @@ +/* + * 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.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; +import mage.game.Game; +import mage.game.permanent.token.Token; +import mage.players.Player; + +/** + * @author LevelX2 + */ +public class IzzetKeyrune extends CardImpl { + + public IzzetKeyrune(UUID ownerId) { + super(ownerId, 230, "Izzet Keyrune", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "RTR"; + + // {T}: Add {U} or {R} to your mana pool. + this.addAbility(new BlueManaAbility()); + this.addAbility(new RedManaAbility()); + + // {U}{R}: Until end of turn, Izzet Keyrune becomes a 2/1 blue and red Elemental artifact creature. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new IzzetKeyruneToken(), "", Constants.Duration.EndOfTurn), new ManaCostsImpl("{U}{R}"))); + + // Whenever Izzet Keyrune deals combat damage to a player, you may draw a card. If you do, discard a card. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new IzzetKeyruneEffect(), true)); + } + + public IzzetKeyrune(final IzzetKeyrune card) { + super(card); + } + + @Override + public IzzetKeyrune copy() { + return new IzzetKeyrune(this); + } + + private class IzzetKeyruneEffect extends OneShotEffect { + + public IzzetKeyruneEffect() { + super(Constants.Outcome.DrawCard); + this.staticText = "you may draw a card. If you do, discard a card"; + } + + public IzzetKeyruneEffect(final IzzetKeyruneEffect effect) { + super(effect); + } + + @Override + public IzzetKeyruneEffect copy() { + return new IzzetKeyruneEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null && player.chooseUse(Constants.Outcome.DrawCard, "Do you wish to draw a card? If you do, discard a card.", game)) { + if (player.drawCards(1, game) > 0) { + player.discard(1, source, game); + } + return true; + } + return false; + } + } + + private class IzzetKeyruneToken extends Token { + IzzetKeyruneToken() { + super("", "a 2/1 blue and red Elemental artifact creature"); + cardType.add(CardType.ARTIFACT); + cardType.add(CardType.CREATURE); + color.setBlue(true); + color.setRed(true); + this.subtype.add("Elemental"); + power = new MageInt(2); + toughness = new MageInt(1); + } + } +} + diff --git a/Mage.Sets/src/mage/sets/returntoravnica/RakdosGuildgate.java b/Mage.Sets/src/mage/sets/returntoravnica/RakdosGuildgate.java new file mode 100644 index 00000000000..51c253a5ecf --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/RakdosGuildgate.java @@ -0,0 +1,64 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; + +/** + * @author LevelX2 + */ +public class RakdosGuildgate extends CardImpl { + + public RakdosGuildgate(UUID ownerId) { + super(ownerId, 244, "Rakdos Guildgate", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + this.subtype.add("Gate"); + + // Rakdos Guildgate enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {B} or {R} to your mana pool. + this.addAbility(new BlackManaAbility()); + this.addAbility(new RedManaAbility()); + } + + public RakdosGuildgate(final RakdosGuildgate card) { + super(card); + } + + @Override + public RakdosGuildgate copy() { + return new RakdosGuildgate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/RakdosKeyrune.java b/Mage.Sets/src/mage/sets/returntoravnica/RakdosKeyrune.java new file mode 100644 index 00000000000..72ec4d8835a --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/RakdosKeyrune.java @@ -0,0 +1,83 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.Token; + +/** + * @author LevelX2 + */ +public class RakdosKeyrune extends CardImpl { + + public RakdosKeyrune(UUID ownerId) { + super(ownerId, 232, "Rakdos Keyrune", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "RTR"; + + // {T}: Add {B} or {R} to your mana pool. + this.addAbility(new BlackManaAbility()); + this.addAbility(new RedManaAbility()); + + // {B}{R}: Rakdos Keyrune becomes a 3/1 black and red Devil artifact creature with first strike until end of turn. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new RakdosKeyruneToken(), "", Constants.Duration.EndOfTurn), new ManaCostsImpl("{B}{R}"))); + } + + public RakdosKeyrune(final RakdosKeyrune card) { + super(card); + } + + @Override + public RakdosKeyrune copy() { + return new RakdosKeyrune(this); + } + + private class RakdosKeyruneToken extends Token { + RakdosKeyruneToken() { + super("", "a 3/1 black and red Devil artifact creature with first strike"); + cardType.add(CardType.ARTIFACT); + cardType.add(CardType.CREATURE); + color.setBlack(true); + color.setRed(true); + this.subtype.add("Devil"); + power = new MageInt(3); + toughness = new MageInt(1); + this.addAbility(FirstStrikeAbility.getInstance()); + } + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/RoguesPassage.java b/Mage.Sets/src/mage/sets/returntoravnica/RoguesPassage.java new file mode 100644 index 00000000000..3798ae9f26c --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/RoguesPassage.java @@ -0,0 +1,72 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.UnblockableTargetEffect; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.target.common.TargetCreaturePermanent; + +/** + * @author LevelX2 + */ +public class RoguesPassage extends CardImpl { + + public RoguesPassage(UUID ownerId) { + super(ownerId, 245, "Rogue's Passage", Rarity.UNCOMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + + // {T}: Add {1} to your mana pool. + this.addAbility(new SimpleManaAbility(Constants.Zone.BATTLEFIELD, new Mana(0, 0, 0, 0, 0, 1, 0), new TapSourceCost())); + + // {4}, {T}: Target creature is unblockable this turn. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UnblockableTargetEffect(), new ManaCostsImpl("{4}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public RoguesPassage(final RoguesPassage card) { + super(card); + } + + @Override + public RoguesPassage copy() { + return new RoguesPassage(this); + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SelesnyaGuildgate.java b/Mage.Sets/src/mage/sets/returntoravnica/SelesnyaGuildgate.java new file mode 100644 index 00000000000..f8b02610629 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/SelesnyaGuildgate.java @@ -0,0 +1,64 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; + +/** + * @author LevelX2 + */ +public class SelesnyaGuildgate extends CardImpl { + + public SelesnyaGuildgate(UUID ownerId) { + super(ownerId, 246, "Selesnya Guildgate", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + this.subtype.add("Gate"); + + // Selesnya Guildgate enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {G} or {W} to your mana pool. + this.addAbility(new GreenManaAbility()); + this.addAbility(new WhiteManaAbility()); + } + + public SelesnyaGuildgate(final SelesnyaGuildgate card) { + super(card); + } + + @Override + public SelesnyaGuildgate copy() { + return new SelesnyaGuildgate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SelesnyaKeyrune.java b/Mage.Sets/src/mage/sets/returntoravnica/SelesnyaKeyrune.java new file mode 100644 index 00000000000..80ec95b4639 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/SelesnyaKeyrune.java @@ -0,0 +1,81 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; +import mage.abilities.mana.GreenManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.Token; + +/** + * @author LevelX2 + */ +public class SelesnyaKeyrune extends CardImpl { + + public SelesnyaKeyrune(UUID ownerId) { + super(ownerId, 233, "Selesnya Keyrune", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "RTR"; + + // {T}: Add {G} or {W} to your mana pool. + this.addAbility(new GreenManaAbility()); + this.addAbility(new WhiteManaAbility()); + + // {G}{W}: Selesnya Keyrune becomes a 3/3 green and white Wolf artifact creature until end of turn. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SelesnyaKeyruneToken(), "", Constants.Duration.EndOfTurn), new ManaCostsImpl("{G}{W}"))); + } + + public SelesnyaKeyrune(final SelesnyaKeyrune card) { + super(card); + } + + @Override + public SelesnyaKeyrune copy() { + return new SelesnyaKeyrune(this); + } + + private class SelesnyaKeyruneToken extends Token { + SelesnyaKeyruneToken() { + super("", "a 3/3 green and white Wolf artifact creature"); + cardType.add(CardType.ARTIFACT); + cardType.add(CardType.CREATURE); + color.setWhite(true); + color.setGreen(true); + this.subtype.add("Wolf"); + power = new MageInt(3); + toughness = new MageInt(3); + } + } +} diff --git a/Mage.Sets/src/mage/sets/returntoravnica/TransguildPromenade.java b/Mage.Sets/src/mage/sets/returntoravnica/TransguildPromenade.java new file mode 100644 index 00000000000..e3971bbec93 --- /dev/null +++ b/Mage.Sets/src/mage/sets/returntoravnica/TransguildPromenade.java @@ -0,0 +1,65 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.returntoravnica; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; +import mage.abilities.mana.AnyColorManaAbility; +import mage.cards.CardImpl; + +/** + * @author LevelX2 + */ +public class TransguildPromenade extends CardImpl { + + public TransguildPromenade(UUID ownerId) { + super(ownerId, 249, "Transguild Promenade", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "RTR"; + + // Transguild Promenade enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + // When Transguild Promenade enters the battlefield, sacrifice it unless you pay {1}. + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)))); + // {T}: Add one mana of any color to your mana pool. + this.addAbility(new AnyColorManaAbility()); + } + + public TransguildPromenade(final TransguildPromenade card) { + super(card); + } + + @Override + public TransguildPromenade copy() { + return new TransguildPromenade(this); + } +}