From 3a1239ba3814b9b30e6e2aa0dfc532dbc3e31972 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 1 Sep 2020 19:49:43 -0400 Subject: [PATCH] [ZNR] Implemented Spoils of Adventure --- .../src/mage/cards/s/SpoilsOfAdventure.java | 43 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 1 + .../dynamicvalue/common/PartyCount.java | 2 +- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/s/SpoilsOfAdventure.java diff --git a/Mage.Sets/src/mage/cards/s/SpoilsOfAdventure.java b/Mage.Sets/src/mage/cards/s/SpoilsOfAdventure.java new file mode 100644 index 00000000000..0a3658ec469 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SpoilsOfAdventure.java @@ -0,0 +1,43 @@ +package mage.cards.s; + +import java.util.UUID; + +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.PartyCount; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect; +import mage.abilities.hint.ValueHint; +import mage.abilities.hint.common.PartyCountHint; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; + +/** + * @author TheElk801 + */ +public final class SpoilsOfAdventure extends CardImpl { + + public SpoilsOfAdventure(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{W}{U}"); + + // This spell costs {1} less to cast for each creature in your party. + this.addAbility(new SimpleStaticAbility( + Zone.ALL, new SpellCostReductionForEachSourceEffect(1, PartyCount.instance) + ).addHint(PartyCountHint.instance)); + + // You gain 3 life and draw three cards. + this.getSpellAbility().addEffect(new GainLifeEffect(3)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3).concatBy("and")); + } + + private SpoilsOfAdventure(final SpoilsOfAdventure card) { + super(card); + } + + @Override + public SpoilsOfAdventure copy() { + return new SpoilsOfAdventure(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index 0c9d82d1542..eec8945700f 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -40,5 +40,6 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Shell Shield", 79, Rarity.COMMON, mage.cards.s.ShellShield.class)); cards.add(new SetCardInfo("Shepherd of Heroes", 38, Rarity.COMMON, mage.cards.s.ShepherdOfHeroes.class)); cards.add(new SetCardInfo("Swamp", 273, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Spoils of Adventure", 237, Rarity.UNCOMMON, mage.cards.s.SpoilsOfAdventure.class)); } } diff --git a/Mage/src/main/java/mage/abilities/dynamicvalue/common/PartyCount.java b/Mage/src/main/java/mage/abilities/dynamicvalue/common/PartyCount.java index 58b5acce234..c2e03fcbef0 100644 --- a/Mage/src/main/java/mage/abilities/dynamicvalue/common/PartyCount.java +++ b/Mage/src/main/java/mage/abilities/dynamicvalue/common/PartyCount.java @@ -30,7 +30,7 @@ public enum PartyCount implements DynamicValue { @Override public String getMessage() { - return "for each creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.)"; + return "creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.)"; } @Override