From c4efb77e1fd39f75c37ce5e3a8c5d324630d1016 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 31 Mar 2019 16:02:37 -0400 Subject: [PATCH] Implemented Tibalt, Rakish Instigator --- .../mage/cards/t/TibaltRakishInstigator.java | 48 +++++++++++++++++++ Mage.Sets/src/mage/sets/WarOfTheSpark.java | 1 + .../mage/game/permanent/token/DevilToken.java | 1 + 3 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TibaltRakishInstigator.java diff --git a/Mage.Sets/src/mage/cards/t/TibaltRakishInstigator.java b/Mage.Sets/src/mage/cards/t/TibaltRakishInstigator.java new file mode 100644 index 0000000000..a7b685b0da --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TibaltRakishInstigator.java @@ -0,0 +1,48 @@ +package mage.cards.t; + +import mage.abilities.LoyaltyAbility; +import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.CantGainLifeAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.game.permanent.token.DevilToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class TibaltRakishInstigator extends CardImpl { + + public TibaltRakishInstigator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.TIBALT); + this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); + + // Your opponents can't gain life. + this.addAbility(new SimpleStaticAbility( + Zone.BATTLEFIELD, + new CantGainLifeAllEffect( + Duration.WhileOnBattlefield, + TargetController.OPPONENT + ) + )); + + // -2: Create a 1/1 red Devil creature token with "Whenever this creature dies, it deals 1 damage to any target. + this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new DevilToken()), -2)); + } + + private TibaltRakishInstigator(final TibaltRakishInstigator card) { + super(card); + } + + @Override + public TibaltRakishInstigator copy() { + return new TibaltRakishInstigator(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WarOfTheSpark.java b/Mage.Sets/src/mage/sets/WarOfTheSpark.java index 1c496ee055..0b4d6fa38a 100644 --- a/Mage.Sets/src/mage/sets/WarOfTheSpark.java +++ b/Mage.Sets/src/mage/sets/WarOfTheSpark.java @@ -48,6 +48,7 @@ public final class WarOfTheSpark extends ExpansionSet { cards.add(new SetCardInfo("Swamp", 257, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Swamp", 258, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tibalt's Rager", 147, Rarity.UNCOMMON, mage.cards.t.TibaltsRager.class)); + cards.add(new SetCardInfo("Tibalt, Rakish Instigator", 146, Rarity.UNCOMMON, mage.cards.t.TibaltRakishInstigator.class)); cards.add(new SetCardInfo("Widespread Brutality", 226, Rarity.RARE, mage.cards.w.WidespreadBrutality.class)); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/DevilToken.java b/Mage/src/main/java/mage/game/permanent/token/DevilToken.java index 874435a0d1..bb7da534fe 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DevilToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DevilToken.java @@ -21,6 +21,7 @@ public final class DevilToken extends TokenImpl { public DevilToken() { super("Devil", "1/1 red Devil creature with \"When this creature dies, it deals 1 damage to any target.\""); availableImageSetCodes.addAll(Collections.singletonList("SOI")); + availableImageSetCodes.addAll(Collections.singletonList("WAR")); cardType.add(CardType.CREATURE); subtype.add(SubType.DEVIL); color.setRed(true);