From 11ea3b664592da82dc7b5922c2a8da2f2d4a4f0d Mon Sep 17 00:00:00 2001 From: fireshoes Date: Fri, 9 Jan 2015 14:01:55 -0600 Subject: [PATCH] Added FRF Runemark cycle --- .../mage/sets/fatereforged/AbzanRunemark.java | 93 ++++++++++++++++++ .../sets/fatereforged/JeskaiRunemark.java | 93 ++++++++++++++++++ .../mage/sets/fatereforged/MarduRunemark.java | 93 ++++++++++++++++++ .../sets/fatereforged/SultaiRunemark.java | 93 ++++++++++++++++++ .../mage/sets/fatereforged/TemurRunemark.java | 95 +++++++++++++++++++ Utils/mtg-cards-data.txt | 10 +- 6 files changed, 472 insertions(+), 5 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/fatereforged/AbzanRunemark.java create mode 100644 Mage.Sets/src/mage/sets/fatereforged/JeskaiRunemark.java create mode 100644 Mage.Sets/src/mage/sets/fatereforged/MarduRunemark.java create mode 100644 Mage.Sets/src/mage/sets/fatereforged/SultaiRunemark.java create mode 100644 Mage.Sets/src/mage/sets/fatereforged/TemurRunemark.java diff --git a/Mage.Sets/src/mage/sets/fatereforged/AbzanRunemark.java b/Mage.Sets/src/mage/sets/fatereforged/AbzanRunemark.java new file mode 100644 index 0000000000..164f4fdaa1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fatereforged/AbzanRunemark.java @@ -0,0 +1,93 @@ +/* + * 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.fatereforged; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class AbzanRunemark extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("as long as you control a black or green permanent"); + + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.GREEN), new ColorPredicate(ObjectColor.BLACK))); + } + + public AbzanRunemark(UUID ownerId) { + super(ownerId, 3, "Abzan Runemark", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); + this.expansionSetCode = "FRF"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // Enchanted creature gets +2/+2. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield))); + // Enchanted creature has vigilance as long as you control a black or green permanent. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new ConditionalContinousEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA), + new PermanentsOnTheBattlefieldCondition(filter), "{this} has vigilance as long as you control a black or green permanent"))); + } + + public AbzanRunemark(final AbzanRunemark card) { + super(card); + } + + @Override + public AbzanRunemark copy() { + return new AbzanRunemark(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fatereforged/JeskaiRunemark.java b/Mage.Sets/src/mage/sets/fatereforged/JeskaiRunemark.java new file mode 100644 index 0000000000..04980ca197 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fatereforged/JeskaiRunemark.java @@ -0,0 +1,93 @@ +/* + * 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.fatereforged; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class JeskaiRunemark extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("as long as you control a red or white permanent"); + + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.WHITE), new ColorPredicate(ObjectColor.RED))); + } + + public JeskaiRunemark(UUID ownerId) { + super(ownerId, 37, "Jeskai Runemark", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); + this.expansionSetCode = "FRF"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // Enchanted creature gets +2/+2. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield))); + // Enchanted creature has flying as long as you control a red or white permanent. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new ConditionalContinousEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA), + new PermanentsOnTheBattlefieldCondition(filter), "{this} has flying as long as you control a red or white permanent"))); + } + + public JeskaiRunemark(final JeskaiRunemark card) { + super(card); + } + + @Override + public JeskaiRunemark copy() { + return new JeskaiRunemark(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fatereforged/MarduRunemark.java b/Mage.Sets/src/mage/sets/fatereforged/MarduRunemark.java new file mode 100644 index 0000000000..147768321f --- /dev/null +++ b/Mage.Sets/src/mage/sets/fatereforged/MarduRunemark.java @@ -0,0 +1,93 @@ +/* + * 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.fatereforged; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class MarduRunemark extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("as long as you control a white or black permanent"); + + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.WHITE), new ColorPredicate(ObjectColor.BLACK))); + } + + public MarduRunemark(UUID ownerId) { + super(ownerId, 107, "Mardu Runemark", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); + this.expansionSetCode = "FRF"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // Enchanted creature gets +2/+2. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield))); + // Enchanted creature has first strike as long as you control a white or black permanent. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new ConditionalContinousEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA), + new PermanentsOnTheBattlefieldCondition(filter), "{this} has first strike as long as you control a white or black permanent"))); + } + + public MarduRunemark(final MarduRunemark card) { + super(card); + } + + @Override + public MarduRunemark copy() { + return new MarduRunemark(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fatereforged/SultaiRunemark.java b/Mage.Sets/src/mage/sets/fatereforged/SultaiRunemark.java new file mode 100644 index 0000000000..535317e1ca --- /dev/null +++ b/Mage.Sets/src/mage/sets/fatereforged/SultaiRunemark.java @@ -0,0 +1,93 @@ +/* + * 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.fatereforged; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class SultaiRunemark extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("as long as you control a green or blue permanent"); + + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.GREEN), new ColorPredicate(ObjectColor.BLUE))); + } + + public SultaiRunemark(UUID ownerId) { + super(ownerId, 86, "Sultai Runemark", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); + this.expansionSetCode = "FRF"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // Enchanted creature gets +2/+2. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield))); + // Enchanted creature has deathtouch as long as you control a green or blue permanent. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new ConditionalContinousEffect(new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.AURA), + new PermanentsOnTheBattlefieldCondition(filter), "{this} has deathtouch as long as you control a green or blue permanent"))); + } + + public SultaiRunemark(final SultaiRunemark card) { + super(card); + } + + @Override + public SultaiRunemark copy() { + return new SultaiRunemark(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fatereforged/TemurRunemark.java b/Mage.Sets/src/mage/sets/fatereforged/TemurRunemark.java new file mode 100644 index 0000000000..b6f926d9ec --- /dev/null +++ b/Mage.Sets/src/mage/sets/fatereforged/TemurRunemark.java @@ -0,0 +1,95 @@ +/* + * 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.fatereforged; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.effects.common.continious.GainAbilitySourceEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class TemurRunemark extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("as long as you control a blue or red permanent"); + + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.RED), new ColorPredicate(ObjectColor.BLUE))); + } + + public TemurRunemark(UUID ownerId) { + super(ownerId, 140, "Temur Runemark", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); + this.expansionSetCode = "FRF"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // Enchanted creature gets +2/+2. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield))); + // Enchanted creature has trample as long as you control a blue or red permanent. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new ConditionalContinousEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA), + new PermanentsOnTheBattlefieldCondition(filter), "{this} has trample as long as you control a blue or red permanent"))); + } + + public TemurRunemark(final TemurRunemark card) { + super(card); + } + + @Override + public TemurRunemark copy() { + return new TemurRunemark(this); + } +} diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index e88306aae3..564f67e565 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -25241,8 +25241,8 @@ Monastery Mentor|Fate Reforged|20|M|{2}{W}|Creature - Human Monk|2|2|Prowess Pressure Point|Fate Reforged|21|C|{1}{W}|Instant|||Tap target creature.$Draw a card.| ~Rally the Ancestors|Fate Reforged|22|R|{X}{W}{W}|Instant|||Return each creature card with converted mana cost X or less from your graveyard to the battlefield. Exile those creatures at the beginning of your next upkeep. Exile ~.| Sage's Reverie|Fate Reforged|23|U|{3}{W}|Enchantment - Aura|||Enchant creature.$When Sage's Reverie enters the battlefield, draw a card for each aura you control that's attached to a creature.$Enchanted creature gets +1/+1 for each aura you control that's attached to a creature.| -Sandblast|Fate Reforged|24|C|{2}{W}{2}{W}|Instant|||Sandblast deals 5 damage to target attacking or blocking creature.$Sandblast deals 5 damage to target attacking or blocking creature.| -Sandsteppe Outcast|Fate Reforged|25|C|{2}{W}{2}{W}|Creature - Human Warrior|2|12|1|When Sandsteppe Outcast enters the battlefield, choose one —$• Put a +1/+1 counter on Sandsteppe Outcast.$• Put a 1/1 white Spirit creature token with flying onto the battlefield.$When Sandsteppe Outcast enters the battlefield, choose one —$• Put a +1/+1 counter on Sandsteppe Outcast.$• Put a 1/1 white Spirit creature token with flying onto the battlefield.| +Sandblast|Fate Reforged|24|C|{2}{W}|Instant|||Sandblast deals 5 damage to target attacking or blocking creature.$Sandblast deals 5 damage to target attacking or blocking creature.| +Sandsteppe Outcast|Fate Reforged|25|C|{2}{W}|Creature - Human Warrior|2|12|1|When Sandsteppe Outcast enters the battlefield, choose one —$• Put a +1/+1 counter on Sandsteppe Outcast.$• Put a 1/1 white Spirit creature token with flying onto the battlefield.$When Sandsteppe Outcast enters the battlefield, choose one —$• Put a +1/+1 counter on Sandsteppe Outcast.$• Put a 1/1 white Spirit creature token with flying onto the battlefield.| Soul Summons|Fate Reforged|26|C|{1}{W}|Sorcery|||Manifest the top card of your library. (Put it onto the battlefield face down as a 2/2 creature. Turn it face up at any time for its mana cost if it's a creature card.)| Soulfire Grand Master|Fate Reforged|27|M|{1}{W}|Creature - Human Monk|2|2|Lifelink$Instant and sorcery spells you control have lifelink.${2}{(U/R)}{(U/R)}: The next time you cast an instant or sorcery spell from your hand this turn, put that card into your hand instead of your graveyard as it resolves.| Valorous Stance|Fate Reforged|28|U|{1}{W}|Instant|||Choose one —$• Target creature gains indestructible until end of turn.$• Destroy target creature with toughness 4 or greater.| @@ -25251,10 +25251,10 @@ Wardscale Dragon|Fate Reforged|30|U|{4}{W}{W}|Creature - Dragon|4|4|Flying$As lo Aven Surveyor|Fate Reforged|31|C|{3}{U}{U}|Creature - Bird Scout|2|2|When Aven Surveyor enters the battlefield, choose one -$*Put a +1/+1 counter on Aven Surveyor$*Return target creature to its owner's hand| Cloudform|Fate Reforged|32|U|{1}{U}{U}|Enchantment|||When Cloudform enters the battlefield, it becomes an aura with enchant creature. Manifest the top card of your library and attach Cloudform to it.$Enchanted creature has flying and hexproof.| Enhanced Awareness|Fate Reforged|33|C|{4}{U}|Instant|||Draw three cards, then discard a card.| -Fascination|Fate Reforged|34|U|{X}{U}{U}{X}{U}{U}|Sorcery|||Choose one —$• Each player draws X cards.$• Each player puts the top X cards of his or her library into his or her graveyard.$Choose one —$• Each player draws X cards.$• Each player puts the top X cards of his or her library into his or her graveyard.| -Frost Walker|Fate Reforged|35|U|{1}{U}{1}{U}|Creature - Elemental|4|14|1|When Frost Walker becomes the target of a spell or ability, sacrifice it.$When Frost Walker becomes the target of a spell or ability, sacrifice it.| +Fascination|Fate Reforged|34|U|{X}{U}{U}|Sorcery|||Choose one —$• Each player draws X cards.$• Each player puts the top X cards of his or her library into his or her graveyard.$Choose one —$• Each player draws X cards.$• Each player puts the top X cards of his or her library into his or her graveyard.| +Frost Walker|Fate Reforged|35|U|{1}{U}|Creature - Elemental|4|14|1|When Frost Walker becomes the target of a spell or ability, sacrifice it.$When Frost Walker becomes the target of a spell or ability, sacrifice it.| Jeskai Infiltrator|Fate Reforged|36|R|{2}{U}|Creature - Human Monk|2|3|Jeskai Infiltrator is unblockable as long as you control no other creatures.$Whenever Jeskai Infiltrator deals combat damage to a player, exile it and the top card of your library in a face-down pile, shuffle that pile, then manifest those cards. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it is a creature card.)| -Jeskai Runemark|Fate Reforged|37|C|{2}{U}{2}{U}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +2/+2.$Enchanted creature has flying as long as you control a red or white permanent.$Enchant creature$Enchanted creature gets +2/+2.$Enchanted creature has flying as long as you control a red or white permanent.| +Jeskai Runemark|Fate Reforged|37|C|{2}{U}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +2/+2.$Enchanted creature has flying as long as you control a red or white permanent.$Enchant creature| Jeskai Sage|Fate Reforged|38|C|{1}{U}|Creature - Human Monk|1|1|Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn)$When Jeskai Sage dies, draw a card.| Lotus Path Djinn|Fate Reforged|39|C|{3}{U}{3}{U}|Creature - Djinn Monk|2|32|3|Flying$Prowess$Flying$Prowess| Marang River Prowler|Fate Reforged|40|U|{2}{U}|Creature - Human Rogue|2|1|Marang River Prowler can't block and can't be blocked.$You may cast Marang River Prowler from your graveyard as long as you control a black or green permanent.|