From f2b7771d597720eb950a008a274b3ca6a8a8ab45 Mon Sep 17 00:00:00 2001 From: fireshoes Date: Thu, 17 Sep 2015 20:35:14 -0500 Subject: [PATCH] [BFZ] Implemented Prism Array, Sanctum of Ugin, Spawning Bed, Makindi Sliderunner , Snapping Gnarlid, Molten Nursery, Pilgrim's Eye --- .../plugins/card/dl/sources/GathererSets.java | 2 +- .../dl/sources/MagicCardsImageSource.java | 2 + .../src/main/resources/card-pictures-tok.txt | 16 +++- .../src/main/resources/image.url.properties | 4 +- .../battleforzendikar/MakindiSliderunner.java | 68 +++++++++++++++ .../sets/battleforzendikar/MoltenNursery.java | 76 +++++++++++++++++ .../sets/battleforzendikar/PilgrimsEye.java | 54 ++++++++++++ .../sets/battleforzendikar/PrismArray.java | 81 ++++++++++++++++++ .../sets/battleforzendikar/SanctumOfUgin.java | 84 +++++++++++++++++++ .../battleforzendikar/SnappingGnarlid.java | 64 ++++++++++++++ .../sets/battleforzendikar/SpawningBed.java | 72 ++++++++++++++++ Mage/src/mage/counters/CounterType.java | 1 + Utils/known-sets.txt | 2 + Utils/mtg-cards-data.txt | 37 +++++++- Utils/mtg-sets-data.txt | 4 +- 15 files changed, 557 insertions(+), 10 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/MakindiSliderunner.java create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/MoltenNursery.java create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/PilgrimsEye.java create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/PrismArray.java create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/SanctumOfUgin.java create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/SnappingGnarlid.java create mode 100644 Mage.Sets/src/mage/sets/battleforzendikar/SpawningBed.java diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java index 9b6554de8f2..b18182f5e80 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java @@ -49,7 +49,7 @@ public class GathererSets implements Iterable { "THS", "BNG", "JOU", "CNS", "VMA", "TPR", "KTK", "FRF", "DTK", - "BFZ"}; + "BFZ", "EXP", "OGW"}; private static final HashMap symbolsReplacements = new HashMap<>(); static { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java index 88653281241..23c02863284 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MagicCardsImageSource.java @@ -16,6 +16,8 @@ public class MagicCardsImageSource implements CardImageSource { private static final Map setNameTokenReplacement = new HashMap() { { + put("ORG", "oath-of-the-gatewatch"); + put("EXP", "zendikar-expeditions"); put("BFZ", "battle-for-zendikar"); put("FVL", "from-the-vault-legends"); put("FVD", "from-the-vault-dragons"); diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index eee4bed26eb..4421bbb0c39 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -1,5 +1,17 @@ -#Generate|TOK:BFZ|Eldrazi Scion| -#Generate|TOK:BFZ|Elemental| +#Generate|TOK:BFZ|Dragon| +#Generate|TOK:BFZ|Eldrazi| +#Generate|TOK:BFZ|Eldrazi Scion 1| +#Generate|TOK:BFZ|Eldrazi Scion 2| +#Generate|TOK:BFZ|Eldrazi Scion 3| +#Generate|TOK:BFZ|Elemental 1| +#Generate|TOK:BFZ|Elemental 2| +#Generate|TOK:BFZ|Knight Ally| +#Generate|TOK:BFZ|Kor Ally| +#Generate|TOK:BFZ|Octopus| +#Generate|TOK:BFZ|Plant| +#|Generate|EMBLEM!:BFZ|Emblem Gideon, Ally of Zendikar| +#|Generate|EMBLEM!:BFZ|Emblem Kiora, Master of the Depths| +#|Generate|EMBLEM!:BFZ|Emblem Ob Nixilis Reignited| #Generate|TOK:DDP|Eldrazi Spawn 1| #Generate|TOK:DDP|Eldrazi Spawn 2| diff --git a/Mage.Client/src/main/resources/image.url.properties b/Mage.Client/src/main/resources/image.url.properties index 21627b43ec6..f0342705c71 100644 --- a/Mage.Client/src/main/resources/image.url.properties +++ b/Mage.Client/src/main/resources/image.url.properties @@ -64,6 +64,6 @@ ddd=gvl unh=uh dde=pvc # Remove setname as soon as the images can be downloaded -ignore.urls=TOK,V15,DDP +ignore.urls=TOK,EXP,OGW # sets ordered by release time (newest goes first) -token.lookup.order=DDP,BFZ,FVD,FVE,FVL,FVR,V12,V13,V14,V15,TPR,MPRP,DD3,DDO,ORI,MM2,PTC,DTK,FRF,KTK,M15,VMA,CNS,JOU,BNG,THS,DDL,M14,MMA,DGM,GTC,RTR,M13,AVR,DDI,DKA,ISD,M12,NPH,MBS,SOM,M11,ROE,DDE,WWK,ZEN,M10,GVL,ARB,DVD,CFX,JVC,ALA,EVE,SHM,EVG,MOR,LRW,10E,CLS,CHK,GRC \ No newline at end of file +token.lookup.order=OGW,EXP,DDP,BFZ,FVD,FVE,FVL,FVR,V12,V13,V14,V15,TPR,MPRP,DD3,DDO,ORI,MM2,PTC,DTK,FRF,KTK,M15,VMA,CNS,JOU,BNG,THS,DDL,M14,MMA,DGM,GTC,RTR,M13,AVR,DDI,DKA,ISD,M12,NPH,MBS,SOM,M11,ROE,DDE,WWK,ZEN,M10,GVL,ARB,DVD,CFX,JVC,ALA,EVE,SHM,EVG,MOR,LRW,10E,CLS,CHK,GRC \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/MakindiSliderunner.java b/Mage.Sets/src/mage/sets/battleforzendikar/MakindiSliderunner.java new file mode 100644 index 00000000000..4f596ad3576 --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/MakindiSliderunner.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.battleforzendikar; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class MakindiSliderunner extends CardImpl { + + public MakindiSliderunner(UUID ownerId) { + super(ownerId, 148, "Makindi Sliderunner", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}"); + this.expansionSetCode = "BFZ"; + this.subtype.add("Beast"); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Landfall- Whenever a land enters the battlefield under your control, Makindi Sliderunner gets +1/+1 until end of turn. + this.addAbility(new LandfallAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false)); + } + + public MakindiSliderunner(final MakindiSliderunner card) { + super(card); + } + + @Override + public MakindiSliderunner copy() { + return new MakindiSliderunner(this); + } +} diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/MoltenNursery.java b/Mage.Sets/src/mage/sets/battleforzendikar/MoltenNursery.java new file mode 100644 index 00000000000..71404a42606 --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/MoltenNursery.java @@ -0,0 +1,76 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.battleforzendikar; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.DevoidAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.ColorlessPredicate; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author fireshoes + */ +public class MoltenNursery extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("colorless spell"); + + static { + filter.add(new ColorlessPredicate()); + } + + public MoltenNursery(UUID ownerId) { + super(ownerId, 130, "Molten Nursery", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); + this.expansionSetCode = "BFZ"; + + // Devoid + this.addAbility(new DevoidAbility(this.color)); + + // Whenever you cast a colorless spell, Molten Nursery deals 1 damage to target creature or player. + Ability ability = new SpellCastControllerTriggeredAbility(new DamageTargetEffect(1), filter, false); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + + } + + public MoltenNursery(final MoltenNursery card) { + super(card); + } + + @Override + public MoltenNursery copy() { + return new MoltenNursery(this); + } +} diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/PilgrimsEye.java b/Mage.Sets/src/mage/sets/battleforzendikar/PilgrimsEye.java new file mode 100644 index 00000000000..67f74e4c74d --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/PilgrimsEye.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.battleforzendikar; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class PilgrimsEye extends mage.sets.worldwake.PilgrimsEye { + + public PilgrimsEye(UUID ownerId) { + super(ownerId); + this.cardNumber = 226; + this.expansionSetCode = "BFZ"; + this.rarity = Rarity.UNCOMMON; + } + + public PilgrimsEye(final PilgrimsEye card) { + super(card); + } + + @Override + public PilgrimsEye copy() { + return new PilgrimsEye(this); + } +} diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/PrismArray.java b/Mage.Sets/src/mage/sets/battleforzendikar/PrismArray.java new file mode 100644 index 00000000000..f1594a72cf4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/PrismArray.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.battleforzendikar; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.ColorsOfManaSpentToCastCount; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class PrismArray extends CardImpl { + + public PrismArray(UUID ownerId) { + super(ownerId, 81, "Prism Array", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{4}{U}"); + this.expansionSetCode = "BFZ"; + + // Converge - Prism Array enters the battlefield with a crystal counter on it for each color of mana spent to cast it. + this.addAbility(new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.CRYSTAL.createInstance(), ColorsOfManaSpentToCastCount.getInstance(), true), + null, true, "Converge — {this} enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.", null)); + + // Remove a crystal counter from Prism Array: Tap target creature. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, + new TapTargetEffect(), + new RemoveCountersSourceCost(CounterType.CRYSTAL.createInstance(1))); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // {W}{U}{B}{R}{G}: Scry 3. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(3), new ManaCostsImpl("{W}{U}{B}{R}{G}"))); + } + + public PrismArray(final PrismArray card) { + super(card); + } + + @Override + public PrismArray copy() { + return new PrismArray(this); + } +} diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/SanctumOfUgin.java b/Mage.Sets/src/mage/sets/battleforzendikar/SanctumOfUgin.java new file mode 100644 index 00000000000..43f2551ad26 --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/SanctumOfUgin.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.battleforzendikar; + +import java.util.UUID; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.Filter.ComparisonType; +import mage.filter.FilterSpell; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.mageobject.ColorlessPredicate; +import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author fireshoes + */ +public class SanctumOfUgin extends CardImpl { + + private static final FilterCreatureCard filter = new FilterCreatureCard("colorless creature card"); + private static final FilterSpell filterSpells = new FilterSpell("colorless spell with converted mana cost 7 or greater"); + + static { + filter.add(new ColorlessPredicate()); + filterSpells.add(new ColorlessPredicate()); + filterSpells.add(new ConvertedManaCostPredicate(ComparisonType.GreaterThan, 6)); + } + + public SanctumOfUgin(UUID ownerId) { + super(ownerId, 242, "Sanctum of Ugin", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "BFZ"; + + // {T}: Add {1} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // Whenever you cast a colorless spell with converted mana cost 7 or greater, you may sacrifice Sanctum of Ugin. + // If you do, search your library for a colorless creature card, reveal it, put it into your hand, then shuffle your library. + Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true); + effect.setText("search your library for a colorless creature card, reveal it, put it into your hand, then shuffle your library"); + this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(effect, new SacrificeSourceCost()), filterSpells, false)); + } + + public SanctumOfUgin(final SanctumOfUgin card) { + super(card); + } + + @Override + public SanctumOfUgin copy() { + return new SanctumOfUgin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/SnappingGnarlid.java b/Mage.Sets/src/mage/sets/battleforzendikar/SnappingGnarlid.java new file mode 100644 index 00000000000..299d4bee641 --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/SnappingGnarlid.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.battleforzendikar; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; + +/** + * + * @author fireshoes + */ +public class SnappingGnarlid extends CardImpl { + + public SnappingGnarlid(UUID ownerId) { + super(ownerId, 190, "Snapping Gnarlid", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "BFZ"; + this.subtype.add("Beast"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Landfall- Whenever a land enters the battlefield under your control, Snapping Gnarlid gets +1/+1 until end of turn. + this.addAbility(new LandfallAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false)); + } + + public SnappingGnarlid(final SnappingGnarlid card) { + super(card); + } + + @Override + public SnappingGnarlid copy() { + return new SnappingGnarlid(this); + } +} diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/SpawningBed.java b/Mage.Sets/src/mage/sets/battleforzendikar/SpawningBed.java new file mode 100644 index 00000000000..1dc801574ed --- /dev/null +++ b/Mage.Sets/src/mage/sets/battleforzendikar/SpawningBed.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.battleforzendikar; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.permanent.token.EldraziScionToken; + +/** + * + * @author fireshoes + */ +public class SpawningBed extends CardImpl { + + public SpawningBed(UUID ownerId) { + super(ownerId, 248, "Spawning Bed", Rarity.UNCOMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "BFZ"; + + // {T}: Add {1} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {6}, {T}, Sacrifice Spawning Bed: Put three 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziScionToken(), 3), new ManaCostsImpl("{6}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public SpawningBed(final SpawningBed card) { + super(card); + } + + @Override + public SpawningBed copy() { + return new SpawningBed(this); + } +} diff --git a/Mage/src/mage/counters/CounterType.java b/Mage/src/mage/counters/CounterType.java index f3adc108c16..1651ac2f3d2 100644 --- a/Mage/src/mage/counters/CounterType.java +++ b/Mage/src/mage/counters/CounterType.java @@ -41,6 +41,7 @@ public enum CounterType { BLAZE("blaze"), BRIBERY("bribery"), CHARGE("charge"), + CRYSTAL("crystal"), DELAY("delay"), DEPLETION("depletion"), DESPAIR("despair"), diff --git a/Utils/known-sets.txt b/Utils/known-sets.txt index 2f7739ae8cf..9b462e003ae 100644 --- a/Utils/known-sets.txt +++ b/Utils/known-sets.txt @@ -101,6 +101,7 @@ Morningtide|morningtide| Nemesis|nemesis| New Phyrexia|newphyrexia| Ninth Edition|ninthedition| +Oath of the Gatewatch|oathofthegatewatch| Odyssey|odyssey| Onslaught|onslaught| Planar Chaos|planarchaos| @@ -147,3 +148,4 @@ World Magic Cup Qualifier|worldmagiccupqualifier| Worldwake|worldwake| WPN Gateway|wpngateway| Zendikar|zendikar| +Zendikar Expeditions|zendikarexpeditions| \ No newline at end of file diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index d167dcc3e40..caed568a831 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -27417,17 +27417,19 @@ Molten Nursery|Battle for Zendikar|130|U|{2}{R}|Enchantment|||Devoid (This ca Akoum Firebird|Battle for Zendikar|138|M|{2}{R}{R}|Creature - Phoenix|3|3|Flying, haste$Akoum Firebird attacks each turn if able.$Landfall-Whenever a land enters the battlefield under your control, you may pay {4}{R}{R}. If you do, return Akoum Firebird from your graveyard to the battlefield.| Akoum Hellkite|Battle for Zendikar|139|R|{4}{R}{R}|Creature - Dragon|4|4|Flying$Landfall-Whenever a land enters the battlefield under you control, Akoum Hellkite deals 1 damage to target creature or player. If that land is a Mountain, Akoum Hellkite deals 2 damage to that creature or player instead.| Dragonmaster Outcast|Battle for Zendikar|144|M|Creature - Human Shaman|1|1|At the beginning of your upkeep, if you control six or more lands, put a 5/5 red Dragon creature token with flying onto the battlefield.| +Makindi Sliderunner|Battle for Zendikar|148|C|{1}{R}|Creature - Beast|2|1|Trample$Landfall- Whenever a land enters the battlefield under your control, Makindi Sliderunner gets +1/+1 until end of turn.| Radiant Flames|Battle for Zendikar|151|R|{2}{R}|Sorcery||Converge - Radiant Flames deals X damage to each creature, where X is the number of colors of mana spent to cast Radiant Flames.| Retreat to Valakut|Battle for Zendikar|153|U|{2}{R}|Enchantment|||Landfall- Whenever a land enters the battlefield under your control, choose one - Target creature gets +2/+0 until end of turn; or Target creature can't block this turn.| Rolling Thunder|Battle for Zendikar|154|U|{X}{R}{R}|Sorcery|||Rolling Thunder deals X damage divided as you choose among any number of target creatures and/or players.| Zada, Hedron Grinder|Battle for Zendikar|162|R|{3}{R}|Legendary Creature - Goblin Ally|3|3|Whenever you cast an instant or sorcery spell that targets only Zada, Hedron Grinder, copy that spell for each other creature you control that the spell could target. Each copy targets a different one of those creatures.| From Beyond|Battle for Zendikar|167|R|{3}{G}|Enchantment|||Devoid (This card has no color.)$At the beginning of your upkeep, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool."${1}{G}, Sacrifice From Beyond: Search your library for an Eldrazi card, reveal it, put it into your hand, then shuffle your library.| -Beastcaller Expert|Battle for Zendikar|170|R|{1}{G}|Creature - Elf Shaman Ally|1|1|Haste${T}: Add one mana of any color to your mana pool. Spend this mana only to cast creature spells.| +Beastcaller Savant|Battle for Zendikar|170|R|{1}{G}|Creature - Elf Shaman Ally|1|1|Haste${T}: Add one mana of any color to your mana pool. Spend this mana only to cast creature spells.| Greenwarden of Murasa|Battle for Zendikar|174|M|{4}{G}{G}|Creature - Elemental|5|4|When Greenwarden of Murasa enters the battlefield, you may return target card from your graveyard to your hand.$When Greenwarden of Murasa dies, you may exile it. If you do, return target card from your graveyard to your hand.| Nissa's Renewal|Battle for Zendikar|180|R|{5}{G}|Sorcery|||Search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle your library. You gain 7 life.| Oran-Rief Hydra|Battle for Zendikar|181|R|{4}{G}{G}|Creature - Hydra|5|5|Trample$Landfall - Whenever a land enters the battlefield under your control, put a +1/+1 counter on Oran-Rief Hydra. If that land is a Forest, put two +1/+1 counters on Oran-Rief Hydra instead.| Retreat to Kazandu|Battle for Zendikar|186||U|{2}{G}|Enchantment|||Landfall-Whenever a land enters the battlefield under your control, choose one - Put a +1/+1 counter on target creature; or You gain 2 life.| Scythe Leopard|Battle for Zendikar|188|U|{G}|Creature - Cat|1|1|Landfall-Whenever a land enters the battlefield under your control, Scythe Leopard gets +1/+1 until end of turn.| +Snapping Gnarlid|Battle for Zendikar|190|C|{1}{G}|Creature - Beast|2|2|Landfall- Whenever a land enters the battlefield under your control, Snapping Gnarlid gets +1/+1 until end of turn.| Sylvan Scrying|Battle for Zendikar|192|U|{1}{G}|Sorcery|||Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library.| Tajuru Warcaller|Battle for Zendikar|195|U|{3}{G}{G}|Creature - Elf Warrior Ally|2|1|Rally-Whenever Tajuru Warcaller or another Ally enters the battlefield under your control, creatures you control get +2/+2 until end of turn.| Undergrowth Champion|Battle for Zendikar|197|M|{1}{G}{G}|Creature - Elemental|2|2|If damage would be dealt to Undergrowth Champion while it has a +1/+1 counter on it, prevent that damage and remove a +1/+1 counter from Undergrowth Champion.$Landfall-Whenever a land enters the battlefield under your control, put a +1/+1 counter on Undergrowth Champion.| @@ -27439,6 +27441,7 @@ Dust Stalker|Battle for Zendikar|202|R|{2}{B}{R}|Creautre - Eldrazi|5|3|Devoid < Fathom Feeder|Battle for Zendikar|203|R|{U}{B}|Creature - Eldrazi Drone|1|1|Devoid (This card has no color.)$Deathtouch$Ingest Whenever this creature deals combat damage to a player, that player exiles the top card of his or her library.)${3}{U}{B}: Draw a card. Each opponent exiles the top card of his or her library.| Forerunner of Slaughter|Battle for Zendikar|204|U|{B}{R}|Creature - Eldrazi Drone|3|2|Devoid (This card has no color.)${1}: Target colorless creature gains haste until end of turn.| Herald of Kozilek|Battle for Zendikar|205|U|{1}{U}{R}|Creature - Eldrazi Drone|2|4|Devoid (This card has no color.)$Colorless spells you cast cost {1} less to cast.| +Sire of Stagnation|Battle for Zendikar|206|M|{4}{U}{B}|Creature - Eldrazi|5|7|Devoid (This card has no color.)$Whenever a land enters the battlefield under an opponent's control, that player exiles the top two cards of his or her library and you draw two cards.| Ulamog's Nullifier|Battle for Zendikar|207|U|{2}{U}{B}|Creature - Eldrazi Processor|2|3|Devoid (This card has no color.)$Flash$Flying$When Ulamog's Nullifier enters the battlefield, you may put two cards your opponents own from exile into their owners' graveyards. If you do, counter target spell.| Angelic Captain|Battle for Zendikar|208|R|{3}{R}{W}|Creature - Angel Ally|4|3|Flying$Whenever Angelic Captain attacks, it gets +1/+1 until end of turn for each other attacking Ally.| Bring to Light|Battle for Zendikar|209|R|{3}{G}{U}|Sorcery|||Converge-Search your library for a creature, instant, or sorcery card with converted mana cost less than or equal to the number of colors of mana spent to cast Bring to Light, exile that card, then shuffle your library. You may cast that card without paying its mana cost.| @@ -27456,17 +27459,18 @@ Skyrider Elf|Battle for Zendikar|220|U|{X}{G}{U}|Creature - Elf Warrior Ally|0|0 Veteran Warleader|Battle for Zendikar|221|R|{1}{G}{W}|Creature - Human Soldier Ally|0|0|Veteran Warleader's power and toughness are each equal to the number of creatures you control.$Tap another untapped Ally you control: Veteran Warleader gains your choice of first strike, vigilance, or trample until end of turn.| Aligned Hedron Network|Battle for Zendikar|222|R|{4}|Artifact|||When Aligned Hedron Network enters the battlefield, exile all creatures with power 5 or greater until Aligned Hedron Network leaves the battlefield. (Those creatures return under their owners' control.)| Hedron Archive|Battle for Zendikar|223|U|{4}|Artifact|||{T}: Add {2} to your mana pool.${2}, {T}, Sacrifice Hedron Archive: Draw two cards.| +Pilgrim's Eye|Battle for Zendikar|226|U|{3}|Artifact Creature - Thopter|1|1|Flying$When Pilgrim's Eye enters the battlefield, you may search your library for a basic land card, reveal it, put it into your hand, then shuffle your library.| Ally Encampment|Battle for Zendikar|228|R||Land|||{T}: Add {1} to your mana pool.${T} Add one mana of any color to your mana pool. Spend this mana only to cast an Ally spell.${1}, {T}, Sacrifice Ally Encampment: Return target Ally you control to its owner's hand.| Blighted Cataract|Battle for Zendikar|229|U||Land|||{T}: Add {1} to your mana pool.${5}{U}, {T}, Sacrifice Blighted Cataract: Draw two cards.| Canopy Vista|Battle for Zendikar|234|R||Land - Forest Plains|||Canopy Vista enters the battlefield tapped unless you control two or more basic lands.| Cinder Glade|Battle for Zendikar|235|R||Land - Mountain Forest|||Cinder Glade enters the battlefield tapped unless you control two or more basic lands.| Evolving Wilds|Battle for Zendikar|236|C||Land|||{T}, Sacrifice Evolving Wilds: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library.| -Fertile Thicket|Battle for Zendikar|237|C||Land|||Fertile Thicket enters the battlefield tapped.$When Fertile Thicket enters the battlefield, you may look at the top five cards of your library. If you do, reveal up to one basic land card from among them, then put that card on top of your library and the rest on the bottom in any order.| +Fertile Thicket|Battle for Zendikar|237|C||Land|||Fertile Thicket enters the battlefield tapped.$When Fertile Thicket enters the battlefield, you may look at the top five cards of your library. If you do, reveal up to one basic land card from among them, then put that card on top of your library and the rest on the bottom in any order.${T}: Add {G} to your mana pool.| Looming Spires|Battle for Zendikar|238|C||Land|||Looming Spires enters the battlefield tapped.$When Looming Spires enters the battlefield, target creature gets +1/+1 and gain first strike until end of turn.${T}: Add {R} to your mana pool.| Lumbering Falls|Battle for Zendikar|239|R||Land|||Lumbering Falls enters the battlefield tapped.${T}: Add {G} or {U} to your mana pool.${2}{G}{U}: Lumbering Falls becomes a 3/3 green and blue Elemental creature with hexproof until end of turn. It's still a land.| Mortuary Mire|Battle for Zendikar|240|C||Land|||Mortuary Mire enters the battlefield tapped.$When Mortuary Mire enters the battlefield, you may put target creature card from your graveyard on top of your library.${T}: Add {B} to your mana pool.| Prairie Stream|Battle for Zendikar|241|R||Land - Plains Island|||Prairie Stream enters the battlefield tapped unless you control two or more basic lands.| -Sanctum of Ugin|Battle for Zendikar|242|R||Land|||{T}: Add {1} to your mana pool.$Whenever you cast a colorless spell with converted mana costs 7 or greater, you may sacrifice Sanctum of Ugin. If you do, search your library for a colorless creature card, reveal it, put it into your hand, then shuffle your library.| +Sanctum of Ugin|Battle for Zendikar|242|R||Land|||{T}: Add {1} to your mana pool.$Whenever you cast a colorless spell with converted mana cost 7 or greater, you may sacrifice Sanctum of Ugin. If you do, search your library for a colorless creature card, reveal it, put it into your hand, then shuffle your library.| Sandstone Bridge|Battle for Zendikar|243|C||Land|||Sandstone Bridge enters the battlefield tapped.$When Sandstone Bridge enters the battlefield, target creature gets +1/+1 and gains vigilance until end of turn.${T}: Add {W} to your mana pool.| Shambling Vent|Battle for Zendikar|244|R||Land|||Shambling Vent enters the battlefield tapped.${T}: Add {W} or {B} to your mana pool.${1}{W}{B}: Shambling Vent becomes a 2/3 white and black Elemental creature with lifelink until end of turn. It's still a land.| Shrine of the Forsaken Gods|Battle for Zendikar|245|R||Land|||{T}: Add {1} to your mana pool.${T}: Add {2} to your mana pool. Spend this mana only to cast colorless spells. Activate this ability only if you control seven or more lands.| @@ -27498,4 +27502,29 @@ Forest|Battle for Zendikar|270|L||Basic Land - Forest|||G| Forest|Battle for Zendikar|271|L||Basic Land - Forest|||G| Forest|Battle for Zendikar|272|L||Basic Land - Forest|||G| Forest|Battle for Zendikar|273|L||Basic Land - Forest|||G| -Forest|Battle for Zendikar|274|L||Basic Land - Forest|||G| \ No newline at end of file +Forest|Battle for Zendikar|274|L||Basic Land - Forest|||G| +Prairie Stream|Zendikar Expeditions|1|M||Land - Plains Island|||Prairie Stream enters the battlefield tapped unless you control two or more basic lands.| +Sunken Hollow|Zendikar Expeditions|2|M||Land - Island Swamp|||Sunken Hollow enters the battlefield tapped unless you control two or more basic lands.| +Smoldering Marsh|Zendikar Expeditions|3|M||Land - Swamp Mountain|||Smoldering Marsh enters the battlefield tapped unless you control two or more basic lands.| +Cinder Glade|Zendikar Expeditions|4|M||Land - Mountain Forest|||Cinder Glade enters the battlefield tapped unless you control two or more basic lands.| +Canopy Vista|Zendikar Expeditions|5|M||Land - Forest Plains|||Canopy Vista enters the battlefield tapped unless you control two or more basic lands.| +Hallowed Fountain|Zendikar Expeditions|6|M||Land - Plains Island|||({tap}: Add {W} or {U} to your mana pool.)$As Hallowed Fountain enters the battlefield, you may pay 2 life. If you don't, Hallowed Fountain enters the battlefield tapped.| +Watery Grave|Zendikar Expeditions|7|M||Land - Island Swamp|||({tap}: Add {U} or {B} to your mana pool.)$As Watery Grave enters the battlefield, you may pay 2 life. If you don't, Watery Grave enters the battlefield tapped.| +Blood Crypt|Zendikar Expeditions|8|M||Land - Swamp Mountain|||({tap}: Add {B} or {R} to your mana pool.)$As Blood Crypt enters the battlefield, you may pay 2 life. If you don't, Blood Crypt enters the battlefield tapped.| +Stomping Ground|Zendikar Expeditions|9|M||Land - Mountain Forest|||({tap}: Add {R} or {G} to your mana pool.)$As Stomping Ground enters the battlefield, you may pay 2 life. If you don't, Stomping Ground enters the battlefield tapped.| +Temple Garden|Zendikar Expeditions|10|M||Land - Forest Plains|||({tap}: Add {G} or {W} to your mana pool.)$As Temple Garden enters the battlefield, you may pay 2 life. If you don't, Temple Garden enters the battlefield tapped.| +Godless Shrine|Zendikar Expeditions|11|M||Land - Plains Swamp|||({tap}: Add {W} or {B} to your mana pool.)$As Godless Shrine enters the battlefield, you may pay 2 life. If you don't, Godless Shrine enters the battlefield tapped.| +Steam Vents|Zendikar Expeditions|12|M||Land - Island Mountain|||({tap}: Add {U} or {R} to your mana pool.)$As Steam Vents enters the battlefield, you may pay 2 life. If you don't, Steam Vents enters the battlefield tapped.| +Overgrown Tomb|Zendikar Expeditions|13|M||Land - Swamp Forest|||({tap}: Add {B} or {G} to your mana pool.)$As Overgrown Tomb enters the battlefield, you may pay 2 life. If you don't, Overgrown Tomb enters the battlefield tapped.| +Sacred Foundry|Zendikar Expeditions|14|M||Land - Mountain Plains|||({tap}: Add {R} or {W} to your mana pool.)$As Sacred Foundry enters the battlefield, you may pay 2 life. If you don't, Sacred Foundry enters the battlefield tapped.| +Breeding Pool|Zendikar Expeditions|15|M||Land - Forest Island|||({tap}: Add {G} or {U} to your mana pool.)$As Breeding Pool enters the battlefield, you may pay 2 life. If you don't, Breeding Pool enters the battlefield tapped.| +Flooded Strand|Zendikar Expeditions|16|M||Land|||{tap}, Pay 1 life, Sacrifice Flooded Strand: Search your library for a Plains or Island card and put it onto the battlefield. Then shuffle your library.| +Polluted Delta|Zendikar Expeditions|17|M||Land|||{tap}, Pay 1 life, Sacrifice Polluted Delta: Search your library for an Island or Swamp card and put it onto the battlefield. Then shuffle your library.| +Bloodstained Mire|Zendikar Expeditions|18|M||Land|||{tap}, Pay 1 life, Sacrifice Bloodstained Mire: Search your library for a Swamp or Mountain card and put it onto the battlefield. Then shuffle your library.| +Wooded Foothills|Zendikar Expeditions|19|M||Land|||{tap}, Pay 1 life, Sacrifice Wooded Foothills: Search your library for a Mountain or Forest card and put it onto the battlefield. Then shuffle your library.| +Windswept Heath|Zendikar Expeditions|20|M||Land|||{tap}, Pay 1 life, Sacrifice Windswept Heath: Search your library for a Forest or Plains card and put it onto the battlefield. Then shuffle your library.| +Marsh Flats|Zendikar Expeditions|21|M||Land|||{tap}, Pay 1 life, Sacrifice Marsh Flats: Search your library for a Plains or Swamp card and put it onto the battlefield. Then shuffle your library.| +Scalding Tarn|Zendikar Expeditions|22|M||Land|||{tap}, Pay 1 life, Sacrifice Scalding Tarn: Search your library for an Island or Mountain card and put it onto the battlefield. Then shuffle your library.| +Verdant Catacombs|Zendikar Expeditions|23|M||Land|||{tap}, Pay 1 life, Sacrifice Verdant Catacombs: Search your library for a Swamp or Forest card and put it onto the battlefield. Then shuffle your library.| +Arid Mesa|Zendikar Expeditions|24|M||Land|||{tap}, Pay 1 life, Sacrifice Arid Mesa: Search your library for a Mountain or Plains card and put it onto the battlefield. Then shuffle your library.| +Misty Rainforest|Zendikar Expeditions|25|M||Land|||{tap}, Pay 1 life, Sacrifice Misty Rainforest: Search your library for a Forest or Island card and put it onto the battlefield. Then shuffle your library.| \ No newline at end of file diff --git a/Utils/mtg-sets-data.txt b/Utils/mtg-sets-data.txt index cec0f4dfbf2..83e479e4585 100644 --- a/Utils/mtg-sets-data.txt +++ b/Utils/mtg-sets-data.txt @@ -110,6 +110,7 @@ MTGO Vanguard|VGO| New Phyrexia|NPH| Ninth Edition|9ED| Nemesis|NMS| +Oath of the Gatewatch|OGW| Odyssey|ODY| Onslaught|ONS| Prophecy|PCY| @@ -160,4 +161,5 @@ Weatherlight|WTH| World Magic Cup Qualifier|WMCQ| Worldwake|WWK| WPN Gateway|GRC| -Zendikar|ZEN| \ No newline at end of file +Zendikar|ZEN| +Zendikar Expeditions|EXP| \ No newline at end of file