From d9adbd1627168da3e8f7d0196f7e1d4ae7a6da8d Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 5 Apr 2021 20:16:54 -0400 Subject: [PATCH] [STX] Implemented Galazeth Prismari --- .../src/mage/cards/g/GalazethPrismari.java | 57 +++++++++++++++++++ .../src/mage/cards/v/VodalianArcanist.java | 13 ++--- .../mage/sets/StrixhavenSchoolOfMages.java | 1 + 3 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/g/GalazethPrismari.java diff --git a/Mage.Sets/src/mage/cards/g/GalazethPrismari.java b/Mage.Sets/src/mage/cards/g/GalazethPrismari.java new file mode 100644 index 0000000000..1d3478b61c --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GalazethPrismari.java @@ -0,0 +1,57 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.mana.ConditionalAnyColorManaAbility; +import mage.abilities.mana.builder.common.InstantOrSorcerySpellManaBuilder; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.StaticFilters; +import mage.game.permanent.token.TreasureToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class GalazethPrismari extends CardImpl { + + public GalazethPrismari(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Galazeth Prismari enters the battlefield, create a Treasure token. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TreasureToken()))); + + // Artifacts you control have "{T}: Add one mana of any color. Spend this mana only to cast an instant or sorcery spell." + this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect( + new ConditionalAnyColorManaAbility(1, new InstantOrSorcerySpellManaBuilder()), + Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ARTIFACTS + ))); + } + + private GalazethPrismari(final GalazethPrismari card) { + super(card); + } + + @Override + public GalazethPrismari copy() { + return new GalazethPrismari(this); + } +} diff --git a/Mage.Sets/src/mage/cards/v/VodalianArcanist.java b/Mage.Sets/src/mage/cards/v/VodalianArcanist.java index 77f40878da..3d9efa6185 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianArcanist.java +++ b/Mage.Sets/src/mage/cards/v/VodalianArcanist.java @@ -1,16 +1,16 @@ - package mage.cards.v; -import java.util.UUID; import mage.MageInt; -import mage.abilities.costs.common.TapSourceCost; import mage.abilities.mana.ConditionalColorlessManaAbility; -import mage.constants.SubType; +import mage.abilities.mana.builder.common.InstantOrSorcerySpellManaBuilder; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + /** - * * @author TheElk801 */ public final class VodalianArcanist extends CardImpl { @@ -24,8 +24,7 @@ public final class VodalianArcanist extends CardImpl { this.toughness = new MageInt(3); // {T}: Add {C}. Spend this mana only to cast an instant or sorcery spell. - this.addAbility(new ConditionalColorlessManaAbility(new TapSourceCost(), 1, - new mage.abilities.mana.builder.common.InstantOrSorcerySpellManaBuilder())); + this.addAbility(new ConditionalColorlessManaAbility(1, new InstantOrSorcerySpellManaBuilder())); } private VodalianArcanist(final VodalianArcanist card) { diff --git a/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java b/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java index d8a6b9ceb2..ab87bd54ad 100644 --- a/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java +++ b/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java @@ -101,6 +101,7 @@ public final class StrixhavenSchoolOfMages extends ExpansionSet { cards.add(new SetCardInfo("Frostboil Snarl", 265, Rarity.RARE, mage.cards.f.FrostboilSnarl.class)); cards.add(new SetCardInfo("Fuming Effigy", 103, Rarity.COMMON, mage.cards.f.FumingEffigy.class)); cards.add(new SetCardInfo("Furycalm Snarl", 266, Rarity.RARE, mage.cards.f.FurycalmSnarl.class)); + cards.add(new SetCardInfo("Galazeth Prismari", 189, Rarity.MYTHIC, mage.cards.g.GalazethPrismari.class)); cards.add(new SetCardInfo("Gnarled Professor", 133, Rarity.RARE, mage.cards.g.GnarledProfessor.class)); cards.add(new SetCardInfo("Go Blank", 72, Rarity.UNCOMMON, mage.cards.g.GoBlank.class)); cards.add(new SetCardInfo("Golden Ratio", 190, Rarity.UNCOMMON, mage.cards.g.GoldenRatio.class));