From 9e9dec8d89fec217964cb2d05fe2339b4d4b2a00 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 10 Apr 2019 15:27:35 -0400 Subject: [PATCH] Implemented Awakening of Vitu-Ghazi --- .../mage/cards/a/AwakeningOfVituGhazi.java | 66 +++++++++++++++++++ Mage.Sets/src/mage/sets/WarOfTheSpark.java | 1 + 2 files changed, 67 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/AwakeningOfVituGhazi.java diff --git a/Mage.Sets/src/mage/cards/a/AwakeningOfVituGhazi.java b/Mage.Sets/src/mage/cards/a/AwakeningOfVituGhazi.java new file mode 100644 index 00000000000..87ebb62be11 --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AwakeningOfVituGhazi.java @@ -0,0 +1,66 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.HasteAbility; +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.counters.CounterType; +import mage.filter.StaticFilters; +import mage.game.permanent.token.TokenImpl; +import mage.target.TargetPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AwakeningOfVituGhazi extends CardImpl { + + public AwakeningOfVituGhazi(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{G}{G}"); + + // Put nine +1/+1 counters on target land you control. It becomes a legendary 0/0 Elemental creature with haste named Vitu-Ghazi. It's still a land. + this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance(9))); + this.getSpellAbility().addEffect(new BecomesCreatureTargetEffect( + new AwakeningOfVituGhaziToken(), false, true, Duration.Custom + ).setText("It becomes a legendary 0/0 Elemental creature with haste named Vitu-Ghazi. It's still a land.")); + this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND)); + } + + private AwakeningOfVituGhazi(final AwakeningOfVituGhazi card) { + super(card); + } + + @Override + public AwakeningOfVituGhazi copy() { + return new AwakeningOfVituGhazi(this); + } +} + +class AwakeningOfVituGhaziToken extends TokenImpl { + + AwakeningOfVituGhaziToken() { + super("Vitu-Ghazi", "legendary 0/0 Elemental creature with haste named Vitu-Ghazi"); + this.supertype.add(SuperType.LEGENDARY); + this.cardType.add(CardType.CREATURE); + this.subtype.add(SubType.ELEMENTAL); + this.power = new MageInt(0); + this.toughness = new MageInt(0); + + this.addAbility(HasteAbility.getInstance()); + } + + private AwakeningOfVituGhaziToken(final AwakeningOfVituGhaziToken token) { + super(token); + } + + public AwakeningOfVituGhaziToken copy() { + return new AwakeningOfVituGhaziToken(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WarOfTheSpark.java b/Mage.Sets/src/mage/sets/WarOfTheSpark.java index a7a91a79479..53c4c3d262d 100644 --- a/Mage.Sets/src/mage/sets/WarOfTheSpark.java +++ b/Mage.Sets/src/mage/sets/WarOfTheSpark.java @@ -33,6 +33,7 @@ public final class WarOfTheSpark extends ExpansionSet { cards.add(new SetCardInfo("Arlinn's Wolf", 151, Rarity.COMMON, mage.cards.a.ArlinnsWolf.class)); cards.add(new SetCardInfo("Arlinn, Voice of the Pack", 150, Rarity.UNCOMMON, mage.cards.a.ArlinnVoiceOfThePack.class)); cards.add(new SetCardInfo("Augur of Bolas", 41, Rarity.UNCOMMON, mage.cards.a.AugurOfBolas.class)); + cards.add(new SetCardInfo("Awakening of Vitu-Ghazi", 152, Rarity.RARE, mage.cards.a.AwakeningOfVituGhazi.class)); cards.add(new SetCardInfo("Band Together", 153, Rarity.COMMON, mage.cards.b.BandTogether.class)); cards.add(new SetCardInfo("Banehound", 77, Rarity.COMMON, mage.cards.b.Banehound.class)); cards.add(new SetCardInfo("Blindblast", 114, Rarity.COMMON, mage.cards.b.Blindblast.class));