From 46b0f0770d9013ddf6130f9ad05b72ac97fecbd0 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 9 Sep 2019 20:09:43 -0400 Subject: [PATCH] Implemented Oko's Hospitality --- .../src/mage/cards/o/OkosHospitality.java | 46 +++++++++++++++++++ Mage.Sets/src/mage/sets/ThroneOfEldraine.java | 1 + Utils/mtg-cards-data.txt | 1 + 3 files changed, 48 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/o/OkosHospitality.java diff --git a/Mage.Sets/src/mage/cards/o/OkosHospitality.java b/Mage.Sets/src/mage/cards/o/OkosHospitality.java new file mode 100644 index 0000000000..02cb47d377 --- /dev/null +++ b/Mage.Sets/src/mage/cards/o/OkosHospitality.java @@ -0,0 +1,46 @@ +package mage.cards.o; + +import mage.abilities.effects.common.continuous.SetPowerToughnessAllEffect; +import mage.abilities.effects.common.search.SearchLibraryGraveyardPutInHandEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.FilterCard; +import mage.filter.StaticFilters; +import mage.filter.predicate.mageobject.NamePredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class OkosHospitality extends CardImpl { + + private static final FilterCard filter = new FilterCard("Oko, the Trickster"); + + static { + filter.add(new NamePredicate("Oko, the Trickster")); + } + + public OkosHospitality(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{G}{U}"); + + // Creatures you control have base power and toughness 3/3 until end of turn. You may search your library and/or graveyard for a card named Oko, the Trickster, reveal it, and put it into your hand. If you search your library this way, shuffle it. + this.getSpellAbility().addEffect(new SetPowerToughnessAllEffect( + 3, 3, Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES, true + )); + this.getSpellAbility().addEffect( + new SearchLibraryGraveyardPutInHandEffect(filter, false, true) + ); + } + + private OkosHospitality(final OkosHospitality card) { + super(card); + } + + @Override + public OkosHospitality copy() { + return new OkosHospitality(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java index 1c63610986..377cb73c92 100644 --- a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java +++ b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java @@ -77,6 +77,7 @@ public final class ThroneOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Midnight Clock", 54, Rarity.RARE, mage.cards.m.MidnightClock.class)); cards.add(new SetCardInfo("Mystical Dispute", 58, Rarity.UNCOMMON, mage.cards.m.MysticalDispute.class)); cards.add(new SetCardInfo("Oko's Accomplices", 310, Rarity.COMMON, mage.cards.o.OkosAccomplices.class)); + cards.add(new SetCardInfo("Oko's Hospitality", 312, Rarity.RARE, mage.cards.o.OkosHospitality.class)); cards.add(new SetCardInfo("Oko, Thief of Crowns", 197, Rarity.MYTHIC, mage.cards.o.OkoThiefOfCrowns.class)); cards.add(new SetCardInfo("Once Upon a Time", 169, Rarity.RARE, mage.cards.o.OnceUponATime.class)); cards.add(new SetCardInfo("Order of Midnight", 99, Rarity.UNCOMMON, mage.cards.o.OrderOfMidnight.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index fbde76ea2a..929cddaeb2 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -36080,6 +36080,7 @@ Wind-Scarred Crag|Throne of Eldraine|308|C||Land|||Wind-Scarred Crag enters the Oko, the Trickster|Throne of Eldraine|309|M|{4}{G}{U}|Legendary Planeswalker - Oko|4|+1: Put two +1/+1 counters on up to one target creature you control.$0: Until end of turn, Oko, the Trickster becomes a copy of target creature you control. Prevent all damage that would be dealt to him this turn.$−7: Until end of turn, each creature you control has base power and toughness 10/10 and gains trample.| Oko's Accomplices|Throne of Eldraine|310|C|{2}{U}|Creature - Faerie|2|3|Flying| Bramblefort Fink|Throne of Eldraine|311|U|{1}{G}|Creature - Ouphe|2|2|{8}: Bramblefort Fink has base power and toughness 10/10 until end of turn. Activate this ability only if you control an Oko planeswalker.| +Oko's Hospitality|Throne of Eldraine|312|R|{3}{G}{U}|Instant|||Creatures you control have base power and toughness 3/3 until end of turn. You may search your library and/or graveyard for a card named Oko, the Trickster, reveal it, and put it into your hand. If you search your library this way, shuffle it.| Thornwood Falls|Throne of Eldraine|313|C||Land|||Thornwood Falls enters the battlefield tapped.$When Thornwood Falls enters the battlefield, you gain 1 life.${T}: Add {G} or {U}.| Mace of the Valiant|Throne of Eldraine|314|R|{2}{W}|Artifact - Equipment|||Equipped creature gets +1/+1 for each charge counter on Mace of the Valiant and has vigilance.$Whenever a creature enters the battlefield under your control, put a charge counter on Mace of the Valiant.$Equip {3}| Silverwing Squadron|Throne of Eldraine|315|R|{5}{W}|Creature - Human Knight|*|*|Flying, vigilance$Silverwing Squadron's power and toughness are each equal to the number of creatures you control.$Whenever Silverwing Squadron attacks, create a number of 2/2 white Knight creature tokens with vigilance equal to the number of opponents you have.|