1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-10 01:01:05 -09:00

[ONE] Implement Graaz, Unstoppable Juggernaut

This commit is contained in:
theelk801 2023-01-17 09:20:15 -05:00
parent e66637c865
commit 54181da9db
2 changed files with 72 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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));