diff --git a/Mage.Sets/src/mage/cards/r/RulikMonsWarrenChief.java b/Mage.Sets/src/mage/cards/r/RulikMonsWarrenChief.java new file mode 100644 index 00000000000..b317a30f58b --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RulikMonsWarrenChief.java @@ -0,0 +1,86 @@ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.constants.*; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.game.Game; +import mage.game.permanent.token.GoblinToken; +import mage.players.Player; + +/** + * + * @author weirddan455 + */ +public final class RulikMonsWarrenChief extends CardImpl { + + public RulikMonsWarrenChief(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}{G}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.GOBLIN); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Menace + this.addAbility(new MenaceAbility()); + + // Whenever Rulik Mons, Warren Chief attacks, look at the top card of your library. + // If it's a land card, you may put it onto the battlefield tapped. + // If you didn't put a card onto the battlefield this way, create a 1/1 red Goblin creature token. + this.addAbility(new AttacksTriggeredAbility(new RulikMonsWarrenChiefEffect())); + } + + private RulikMonsWarrenChief(final RulikMonsWarrenChief card) { + super(card); + } + + @Override + public RulikMonsWarrenChief copy() { + return new RulikMonsWarrenChief(this); + } +} + +class RulikMonsWarrenChiefEffect extends OneShotEffect { + + public RulikMonsWarrenChiefEffect() { + super(Outcome.PutCardInPlay); + this.staticText = "look at the top card of your library. " + + "If it's a land card, you may put it onto the battlefield tapped. " + + "If you didn't put a card onto the battlefield this way, create a 1/1 red Goblin creature token."; + } + + private RulikMonsWarrenChiefEffect(final RulikMonsWarrenChiefEffect effect) { + super(effect); + } + + @Override + public RulikMonsWarrenChiefEffect copy() { + return new RulikMonsWarrenChiefEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller == null) { + return false; + } + boolean landToPlay = false; + Card card = controller.getLibrary().getFromTop(game); + if (card != null) { + controller.lookAtCards("Top card of your library", card, game); + landToPlay = card.isLand(game) && controller.chooseUse(outcome, "Put " + card.getName() + " into play tapped?", source, game) + && controller.moveCards(card, Zone.BATTLEFIELD, source, game, true, false, false, null); + } + if (!landToPlay) { + new GoblinToken().putOntoBattlefield(1, game, source); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index b84b7ff6917..dce4ad5cecd 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -77,6 +77,7 @@ public final class DominariaUnited extends ExpansionSet { cards.add(new SetCardInfo("Raff, Weatherlight Stalwart", 212, Rarity.UNCOMMON, mage.cards.r.RaffWeatherlightStalwart.class)); cards.add(new SetCardInfo("Resolute Reinforcements", 29, Rarity.UNCOMMON, mage.cards.r.ResoluteReinforcements.class)); cards.add(new SetCardInfo("Rona's Vortex", 63, Rarity.UNCOMMON, mage.cards.r.RonasVortex.class)); + cards.add(new SetCardInfo("Rulik Mons, Warren Chief", 217, Rarity.UNCOMMON, mage.cards.r.RulikMonsWarrenChief.class)); cards.add(new SetCardInfo("Samite Herbalist", 31, Rarity.COMMON, mage.cards.s.SamiteHerbalist.class)); cards.add(new SetCardInfo("Scout the Wilderness", 176, Rarity.COMMON, mage.cards.s.ScoutTheWilderness.class)); cards.add(new SetCardInfo("Sengir Connoisseur", 104, Rarity.UNCOMMON, mage.cards.s.SengirConnoisseur.class));