From 4e92e4d6e41c5dabe41152bcc303697e17ee2e31 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 31 Oct 2020 15:04:31 -0400 Subject: [PATCH] [CMR] Implemented Obeka, Brute Chronologist --- .../mage/cards/o/ObekaBruteChronologist.java | 70 +++++++++++++++++++ Mage.Sets/src/mage/sets/CommanderLegends.java | 1 + 2 files changed, 71 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/o/ObekaBruteChronologist.java diff --git a/Mage.Sets/src/mage/cards/o/ObekaBruteChronologist.java b/Mage.Sets/src/mage/cards/o/ObekaBruteChronologist.java new file mode 100644 index 00000000000..11023d4cb29 --- /dev/null +++ b/Mage.Sets/src/mage/cards/o/ObekaBruteChronologist.java @@ -0,0 +1,70 @@ +package mage.cards.o; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.game.Game; +import mage.players.Player; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ObekaBruteChronologist extends CardImpl { + + public ObekaBruteChronologist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // {T}: The player whose turn it is may end the turn. + this.addAbility(new SimpleActivatedAbility(new ObekaBruteChronologistEffect(), new TapSourceCost())); + } + + private ObekaBruteChronologist(final ObekaBruteChronologist card) { + super(card); + } + + @Override + public ObekaBruteChronologist copy() { + return new ObekaBruteChronologist(this); + } +} + +class ObekaBruteChronologistEffect extends OneShotEffect { + + ObekaBruteChronologistEffect() { + super(Outcome.Benefit); + staticText = "the player whose turn it is may end the turn"; + } + + private ObekaBruteChronologistEffect(final ObekaBruteChronologistEffect effect) { + super(effect); + } + + @Override + public ObekaBruteChronologistEffect copy() { + return new ObekaBruteChronologistEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(game.getActivePlayerId()); + return player != null + && player.chooseUse(outcome, "End the turn?", source, game) + && game.endTurn(source); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderLegends.java b/Mage.Sets/src/mage/sets/CommanderLegends.java index 2400c197a06..0e97204f89c 100644 --- a/Mage.Sets/src/mage/sets/CommanderLegends.java +++ b/Mage.Sets/src/mage/sets/CommanderLegends.java @@ -121,6 +121,7 @@ public final class CommanderLegends extends ExpansionSet { cards.add(new SetCardInfo("Null Caller", 140, Rarity.UNCOMMON, mage.cards.n.NullCaller.class)); cards.add(new SetCardInfo("Numa, Joraga Chieftain", 246, Rarity.UNCOMMON, mage.cards.n.NumaJoragaChieftain.class)); cards.add(new SetCardInfo("Nymris, Oona's Trickster", 288, Rarity.RARE, mage.cards.n.NymrisOonasTrickster.class)); + cards.add(new SetCardInfo("Obeka, Brute Chronologist", 289, Rarity.RARE, mage.cards.o.ObekaBruteChronologist.class)); cards.add(new SetCardInfo("Omenspeaker", 83, Rarity.COMMON, mage.cards.o.Omenspeaker.class)); cards.add(new SetCardInfo("Path of Ancestry", 353, Rarity.COMMON, mage.cards.p.PathOfAncestry.class)); cards.add(new SetCardInfo("Patron of the Valiant", 37, Rarity.UNCOMMON, mage.cards.p.PatronOfTheValiant.class));