From 6047f592cf5cfb631bced405f4c47e8e1eff0065 Mon Sep 17 00:00:00 2001 From: tiera3 <87589219+tiera3@users.noreply.github.com> Date: Thu, 24 Oct 2024 14:20:48 +1000 Subject: [PATCH] implement [DA1] More of that Strange Oil (#13019) --- .../dl/sources/ScryfallImageSupportCards.java | 1 + .../mage/cards/m/MoreOfThatStrangeOil.java | 60 +++++++++++++++++++ Mage.Sets/src/mage/sets/UnknownEvent.java | 26 ++++++++ 3 files changed, 87 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/MoreOfThatStrangeOil.java create mode 100644 Mage.Sets/src/mage/sets/UnknownEvent.java diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java index db3d1ca4bfa..674f262cec1 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java @@ -528,6 +528,7 @@ public class ScryfallImageSupportCards { add("ONE"); // Phyrexia: All Will Be One add("ONC"); // Phyrexia: All Will Be One Commander add("PL23"); // Year of the Rabbit 2023 + add("DA1"); // Unknown Event add("SLP"); // Secret Lair Showdown add("MOM"); // March of the Machine add("MOC"); // March of the Machine Commander diff --git a/Mage.Sets/src/mage/cards/m/MoreOfThatStrangeOil.java b/Mage.Sets/src/mage/cards/m/MoreOfThatStrangeOil.java new file mode 100644 index 00000000000..3fb5f3bfe39 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MoreOfThatStrangeOil.java @@ -0,0 +1,60 @@ +package mage.cards.m; + +import mage.MageObject; +import mage.abilities.Mode; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.effects.common.counter.ProliferateEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.FilterSpell; +import mage.filter.predicate.Predicate; +import mage.filter.predicate.Predicates; +import mage.target.TargetPermanent; +import mage.target.TargetSpell; + +import java.util.UUID; + +/** + * @author tiera3 - based on GetOut + */ +public final class MoreOfThatStrangeOil extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("creature, artifact, or planeswalker spell"); + static { + filter.add(Predicates.or( + CardType.CREATURE.getPredicate(), + CardType.ARTIFACT.getPredicate(), + CardType.PLANESWALKER.getPredicate() + )); + } + + public MoreOfThatStrangeOil(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); + + // Choose one -- + // * Proliferate. Draw a card. + this.getSpellAbility().addEffect(new ProliferateEffect(false)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + this.getSpellAbility().withFirstModeFlavorWord("It's Probably Nothing"); + + // * Counter target creature, artifact, or planeswalker spell. Scry 1. + Mode mode = new Mode(new CounterTargetEffect()); + mode.addTarget(new TargetSpell(filter)); + mode.addEffect(new ScryEffect(1, false)); + this.getSpellAbility().addMode(mode.withFlavorWord("That Could Actually Be Dangerous")); + } + + private MoreOfThatStrangeOil(final MoreOfThatStrangeOil card) { + super(card); + } + + @Override + public MoreOfThatStrangeOil copy() { + return new MoreOfThatStrangeOil(this); + } +} diff --git a/Mage.Sets/src/mage/sets/UnknownEvent.java b/Mage.Sets/src/mage/sets/UnknownEvent.java new file mode 100644 index 00000000000..da1fd1f58c7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/UnknownEvent.java @@ -0,0 +1,26 @@ + +package mage.sets; + +import mage.cards.ExpansionSet; +import mage.constants.Rarity; +import mage.constants.SetType; + +/** + * @author tiera3 + */ +public final class UnknownEvent extends ExpansionSet { + + private static final UnknownEvent instance = new UnknownEvent(); + + public static UnknownEvent getInstance() { + return instance; + } + + private UnknownEvent() { + super("Unknown Event", "DA1", ExpansionSet.buildDate(2023, 2, 15), SetType.JOKE_SET); + this.hasBasicLands = false; + this.hasBoosters = false; + + cards.add(new SetCardInfo("More of That Strange Oil", "CU13", Rarity.COMMON, mage.cards.m.MoreOfThatStrangeOil.class)); + } +}