diff --git a/Mage.Sets/src/mage/cards/c/CrestingMosasaurus.java b/Mage.Sets/src/mage/cards/c/CrestingMosasaurus.java new file mode 100644 index 00000000000..de67c6a2bb9 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CrestingMosasaurus.java @@ -0,0 +1,55 @@ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.CastFromEverywhereSourceCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; +import mage.abilities.keyword.EmergeAbility; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; + +/** + * + * @author jimga150 + */ +public final class CrestingMosasaurus extends CardImpl { + + private static final FilterPermanent filter = new FilterCreaturePermanent("non-Dinosaur creature"); + + static { + filter.add(Predicates.not(SubType.DINOSAUR.getPredicate())); + } + + public CrestingMosasaurus(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{U}{U}"); + + this.subtype.add(SubType.DINOSAUR); + this.power = new MageInt(4); + this.toughness = new MageInt(8); + + // Emerge {6}{U} + this.addAbility(new EmergeAbility(this, "{6}{U}")); + + // When Cresting Mosasaurus enters the battlefield, if you cast it, return each non-Dinosaur creature to its owner's hand. + this.addAbility(new ConditionalInterveningIfTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new ReturnToHandFromBattlefieldAllEffect(filter), false), + CastFromEverywhereSourceCondition.instance, + "When {this} enters the battlefield, if you cast it, return each non-Dinosaur creature to its owner's hand.")); + } + + private CrestingMosasaurus(final CrestingMosasaurus card) { + super(card); + } + + @Override + public CrestingMosasaurus copy() { + return new CrestingMosasaurus(this); + } +} diff --git a/Mage.Sets/src/mage/sets/JurassicWorldCollection.java b/Mage.Sets/src/mage/sets/JurassicWorldCollection.java index f3ab88c1dc4..cc8a0e03277 100644 --- a/Mage.Sets/src/mage/sets/JurassicWorldCollection.java +++ b/Mage.Sets/src/mage/sets/JurassicWorldCollection.java @@ -22,6 +22,7 @@ public final class JurassicWorldCollection extends ExpansionSet { cards.add(new SetCardInfo("Command Tower", 26, Rarity.COMMON, mage.cards.c.CommandTower.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Command Tower", "26b", Rarity.COMMON, mage.cards.c.CommandTower.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Cresting Mosasaurus", 2, Rarity.RARE, mage.cards.c.CrestingMosasaurus.class)); cards.add(new SetCardInfo("Dino DNA", 20, Rarity.RARE, mage.cards.d.DinoDNA.class)); cards.add(new SetCardInfo("Don't Move", 1, Rarity.RARE, mage.cards.d.DontMove.class)); cards.add(new SetCardInfo("Ellie and Alan, Paleontologists", 10, Rarity.RARE, mage.cards.e.EllieAndAlanPaleontologists.class));