diff --git a/Mage.Sets/src/mage/cards/g/GraazUnstoppableJuggernaut.java b/Mage.Sets/src/mage/cards/g/GraazUnstoppableJuggernaut.java new file mode 100644 index 00000000000..22aa8081c0b --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GraazUnstoppableJuggernaut.java @@ -0,0 +1,71 @@ +package mage.cards.g; + +import java.util.UUID; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.combat.AttacksIfAbleAllEffect; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesAllEffect; +import mage.abilities.effects.common.continuous.AddCardSubtypeAllEffect; +import mage.abilities.effects.common.continuous.SetBasePowerToughnessAllEffect; +import mage.constants.*; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AnotherPredicate; + +/** + * @author TheElk801 + */ +public final class GraazUnstoppableJuggernaut extends CardImpl { + + private static final FilterCreaturePermanent filter + = new FilterCreaturePermanent(SubType.JUGGERNAUT, "Juggernauts you control"); + private static final FilterCreaturePermanent filter2 + = new FilterCreaturePermanent(SubType.WALL, "Walls"); + private static final FilterPermanent filter3 + = new FilterControlledCreaturePermanent("other creatures you control"); + + static { + filter.add(TargetController.YOU.getControllerPredicate()); + filter3.add(AnotherPredicate.instance); + } + + public GraazUnstoppableJuggernaut(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{8}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.JUGGERNAUT); + this.power = new MageInt(7); + this.toughness = new MageInt(5); + + // Juggernauts you control attack each combat if able. + this.addAbility(new SimpleStaticAbility(new AttacksIfAbleAllEffect(filter))); + + // Juggernauts you control can't be blocked by Walls. + this.addAbility(new SimpleStaticAbility( + new CantBeBlockedByCreaturesAllEffect(filter, filter2, Duration.WhileOnBattlefield) + )); + + // Other creatures you control have base power and toughness 5/3 and are Juggernauts in addition to their other creature types. + Ability ability = new SimpleStaticAbility(new SetBasePowerToughnessAllEffect( + 5, 3, Duration.WhileOnBattlefield, filter3, true + )); + ability.addEffect(new AddCardSubtypeAllEffect( + filter3, SubType.JUGGERNAUT, null + ).setText("and are Juggernauts in addition to their other creature types")); + this.addAbility(ability); + } + + private GraazUnstoppableJuggernaut(final GraazUnstoppableJuggernaut card) { + super(card); + } + + @Override + public GraazUnstoppableJuggernaut copy() { + return new GraazUnstoppableJuggernaut(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index 689640e06d6..cc623233e5c 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -32,6 +32,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Evolved Spinoderm", 166, Rarity.RARE, mage.cards.e.EvolvedSpinoderm.class)); cards.add(new SetCardInfo("Ezuri, Stalker of Spheres", 201, Rarity.RARE, mage.cards.e.EzuriStalkerOfSpheres.class)); cards.add(new SetCardInfo("Forest", 276, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Graaz, Unstoppable Juggernaut", 225, Rarity.RARE, mage.cards.g.GraazUnstoppableJuggernaut.class)); cards.add(new SetCardInfo("Island", 273, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Jor Kadeen, First Goldwarden", 203, Rarity.RARE, mage.cards.j.JorKadeenFirstGoldwarden.class)); cards.add(new SetCardInfo("Karumonix, the Rat King", 292, Rarity.RARE, mage.cards.k.KarumonixTheRatKing.class));