[DMU] Implemented Rulik Mons, Warren Chief

This commit is contained in:
Daniel Bomar 2022-08-22 19:01:43 -05:00
parent 5a6212985b
commit 65fc421f50
No known key found for this signature in database
GPG key ID: C86C8658F4023918
2 changed files with 87 additions and 0 deletions

View file

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

View file

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