diff --git a/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java b/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java new file mode 100644 index 00000000000..1a6ba823d8b --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java @@ -0,0 +1,65 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.ruleModifying.PlayLandsFromGraveyardControllerEffect; +import mage.abilities.keyword.LandwalkAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.common.FilterLandCard; +import mage.game.permanent.token.HazezonTamarSandWarriorToken; + +import java.util.UUID; + +/** + * @author PurpleCrowbar + */ +public final class HazezonShaperOfSand extends CardImpl { + + private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Desert"); + private static final FilterLandCard filter2 = new FilterLandCard("Desert lands"); + private static final FilterControlledLandPermanent filter3 = new FilterControlledLandPermanent("a Desert"); + + static { + filter.add(SubType.DESERT.getPredicate()); + filter2.add(SubType.DESERT.getPredicate()); + filter3.add(SubType.DESERT.getPredicate()); + } + + public HazezonShaperOfSand(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}{W}"); + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Desertwalk + this.addAbility(new LandwalkAbility(filter)); + + // You may play Desert lands from your graveyard. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayLandsFromGraveyardControllerEffect(filter2))); + + // Whenever a Desert enters the battlefield under your control create two 1/1 red, green, and white Sand Warrior creature tokens. + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new CreateTokenEffect( + new HazezonTamarSandWarriorToken(), 2), filter3 + )); + } + + private HazezonShaperOfSand(final HazezonShaperOfSand card) { + super(card); + } + + @Override + public HazezonShaperOfSand copy() { + return new HazezonShaperOfSand(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java b/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java index b94ab5f2e24..65cb92e9e7b 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java +++ b/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java @@ -85,6 +85,8 @@ public final class DominariaUnitedCommander extends ExpansionSet { cards.add(new SetCardInfo("Greensleeves, Maro-Sorcerer", 27, Rarity.MYTHIC, mage.cards.g.GreensleevesMaroSorcerer.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Greensleeves, Maro-Sorcerer", 77, Rarity.MYTHIC, mage.cards.g.GreensleevesMaroSorcerer.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Growth Spiral", 153, Rarity.COMMON, mage.cards.g.GrowthSpiral.class)); + cards.add(new SetCardInfo("Hazezon, Shaper of Sand", 32, Rarity.RARE, mage.cards.h.HazezonShaperOfSand.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Hazezon, Shaper of Sand", 54, Rarity.RARE, mage.cards.h.HazezonShaperOfSand.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hazoret's Monument", 183, Rarity.UNCOMMON, mage.cards.h.HazoretsMonument.class)); cards.add(new SetCardInfo("Hedron Archive", 184, Rarity.UNCOMMON, mage.cards.h.HedronArchive.class)); cards.add(new SetCardInfo("Hero of Precinct One", 101, Rarity.RARE, mage.cards.h.HeroOfPrecinctOne.class));