diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/BearerOfSilence.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/BearerOfSilence.java new file mode 100644 index 00000000000..a37603ddbbc --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/BearerOfSilence.java @@ -0,0 +1,82 @@ +/* + * 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.oathofthegatewatch; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CantBlockAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CastSourceTriggeredAbility; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.SacrificeEffect; +import mage.abilities.keyword.DevoidAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetOpponent; + +/** + * + * @author fireshoes + */ +public class BearerOfSilence extends CardImpl { + + public BearerOfSilence(UUID ownerId) { + super(ownerId, 67, "Bearer of Silence", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{B}"); + this.expansionSetCode = "OGW"; + this.subtype.add("Eldrazi"); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Devoid + this.addAbility(new DevoidAbility(this.color)); + + // When you cast Bearer of Silence, you may pay {1}{C}. If you do, target opponent sacrifices a creature. + Ability ability = new CastSourceTriggeredAbility(new DoIfCostPaid(new SacrificeEffect(new FilterCreaturePermanent(), 1, "Target opponent"), new ManaCostsImpl("{1}{C}"))); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Bearer of Silence can't block. + this.addAbility(new CantBlockAbility()); + } + + public BearerOfSilence(final BearerOfSilence card) { + super(card); + } + + @Override + public BearerOfSilence copy() { + return new BearerOfSilence(this); + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/GiftOfTusks.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/GiftOfTusks.java new file mode 100644 index 00000000000..b85aa414117 --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/GiftOfTusks.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.oathofthegatewatch; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.game.permanent.token.ElephantToken; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class GiftOfTusks extends CardImpl { + + public GiftOfTusks(UUID ownerId) { + super(ownerId, 55, "Gift of Tusks", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{U}"); + this.expansionSetCode = "OGW"; + + // Until end of turn, target creature loses all abilities and becomes a green Elephant with base power and toughness 3/3. + Effect effect = new BecomesCreatureTargetEffect(new ElephantToken(), true, false, Duration.EndOfTurn); + effect.setText("Until end of turn, target creature loses all abilities and becomes a green Elephant with base power and toughness 3/3"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public GiftOfTusks(final GiftOfTusks card) { + super(card); + } + + @Override + public GiftOfTusks copy() { + return new GiftOfTusks(this); + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/SeersLantern.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/SeersLantern.java new file mode 100644 index 00000000000..0a1cd543647 --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/SeersLantern.java @@ -0,0 +1,69 @@ +/* + * 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.oathofthegatewatch; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.keyword.ScryEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author fireshoes + */ +public class SeersLantern extends CardImpl { + + public SeersLantern(UUID ownerId) { + super(ownerId, 165, "Seer's Lantern", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "OGW"; + + // {T}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {2}, {T}: Scry 1. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new GenericManaCost(2)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + public SeersLantern(final SeersLantern card) { + super(card); + } + + @Override + public SeersLantern copy() { + return new SeersLantern(this); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java index a95182b2b1a..a53476916b2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java @@ -31,9 +31,7 @@ package mage.game.permanent.token; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import mage.MageInt; -import mage.ObjectColor; import mage.constants.CardType; /** @@ -45,7 +43,7 @@ public class ElephantToken extends Token { final static private List tokenImageSets = new ArrayList<>(); static { - tokenImageSets.addAll(Arrays.asList("C14", "CNS", "DDD", "MM2", "WWK")); + tokenImageSets.addAll(Arrays.asList("C14", "CNS", "DDD", "MM2", "WWK", "OGW")); } public ElephantToken() { diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 8c726ae3cc9..c3b2520691b 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -28264,10 +28264,12 @@ Deepfathom Skulker|Oath of the Gatewatch|43|R|{5}{U}|Creature - Eldrazi|4|4|Devo Prophet of Distortion|Oath of the Gatewatch|46|U|{U}|Creature - Eldrazi Drone|1|2|Devoid (This card has no color.)${3}{C}: Draw a card.| Comparative Analysis|Oath of the Gatewatch|51|C|{3}{U}|Instant|||Surge {2}{U} $Target player draws two cards.| Crush of Tentacles|Oath of the Gatewatch|53|M|{4}{U}{U}|Sorcery|||Surge {3}{U}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)$Return all nonland permanents to their owners' hands. If Crush of Tentacles surge cost was paid, put an 8/8 blue Octopus creature token onto the battlefield.| +Gift of Tusks|Oath of the Gatewatch|55|U|{U}|Instant|||Until end of turn, target creature loses all abilities and becomes a green Elephant with base power and toughness 3/3.| Hedron Alignment|Oath of the Gatewatch|57|R|{2}{U}|Enchantment|||Hexproof$At the beginning of your upkeep, you may reveal your hand. If you do, you win the game if you own a card named Hedron Alignment in exile, in your hand, in your graveyard, and on the battlefield.${1}{U}: Scry 1.| Oath of Jace|Oath of the Gatewatch|60|R|{2}{U}|Legendary Enchantment|||When Oath of Jace enters the battlefield, draw three cards, then discard two cards.$At the beginning of your upkeep, scry X, where X is the number of planeswalkers you control.| Overwhelming Denial|Oath of the Gatewatch|61|R|{2}{U}{U}|Instant|||Surge {U}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)$Overwhelming Denial can't be countered by spell or abilities.$Counter target spell.| Sphinx of the Final Word|Oath of the Gatewatch|63|M|{5}{U}{U}|Creature - Sphinx|5|5|Sphinx of the Final Word can't be countered.$Flying, hexproof$Instant and sorcery spells you control can't be countered by spells or abilities.| +Bearer of Silence|Oath of the Gatewatch|67|R|{1}{B}|Creature - Eldrazi|2|1|Devoid (This card has no color.)$When you cast Bearer of Silence, you may pay {1}{C}. If you do, target opponent sacrifices a creature.$Flying$Bearer of Silence can't block.| Dread Defiler|Oath of the Gatewatch|68|R|{6}{B}|Creature - Eldrazi|6|8|Devoid (This card has no color.)${3}{C}, Exile a creature card from your graveyard: Target opponent loses life equal to the exiled card's power.| Skinning Tendrils|Oath of the Gatewatch|70|U|{1}{B}{B}|Sorcery|||Devoid (This card has no color.)$All creatures get -2/-2 until end of turn. If a creature would die this turn, exile it instead.| Inverter of Truth|Oath of the Gatewatch|72|M|{2}{B}{B}|Creature - Eldrazi|6|6|Devoid (This card has no color.)$Flying$When Inverter of Truth enters the battlefield, exile all cards from your library face down, then shuffle all cards from your graveyard into your library.| @@ -28309,6 +28311,7 @@ Relentless Hunter|Oath of the Gatewatch|158|U|{1}{R}{G}|Creature - Human Warrior Stormchaser Mage|Oath of the Gatewatch|159|U|{U}{R}|Creature - Human Wizard|1|3|Flying, haste$Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.)| Weapons Trainer|Oath of the Gatewatch|160|U|{R}{W}|Creature - Human Soldier Ally|3|2|Other creatures you control get +1/+0 as long as you control an Equipment.| Bone Saw|Oath of the Gatewatch|161|C|{0}|Artifact - Equipment|||Equipped creature gets +1/+0.$Equip {1}| +Seer's Lantern|Oath of the Gatewatch|165|C|{3}|Artifact|||{T}: Add {C} to your mana pool.${2}, {T}: Scry 1.| Stoneforge Masterwork|Oath of the Gatewatch|166|R|{1}|Artifact - Equipment|||Equipped creature gets +1/+1 for each other creature you control that shares a creature type with it.$Equip {2}| Cinder Barrens|Oath of the Gatewatch|168|U||Land|||Cinder Barrens enters the battlefield tapped.${T}: Add {B} or {R} to your mana pool.| Corrupted Crossroads|Oath of the Gatewatch|169|R||Land|||{T}: Add {C} to your mana pool. ({C} represents colorless mana.)${T}, Pay 1 life: Add one mana of any color to your mana pool. Spend this mana only to cast a spell with devoid.|