From 52afde4954643feff6ed7892f5ba6db1fc18a6d4 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 7 Jul 2021 09:44:11 -0400 Subject: [PATCH] [AFR] Implemented Chaos Channeler --- .../src/mage/cards/c/ChaosChanneler.java | 52 +++++++++++++++++++ .../sets/AdventuresInTheForgottenRealms.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/ChaosChanneler.java diff --git a/Mage.Sets/src/mage/cards/c/ChaosChanneler.java b/Mage.Sets/src/mage/cards/c/ChaosChanneler.java new file mode 100644 index 00000000000..ed6fbfac74e --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/ChaosChanneler.java @@ -0,0 +1,52 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.ExileTopXMayPlayUntilEndOfTurnEffect; +import mage.abilities.effects.common.RollDieWithResultTableEffect; +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 ChaosChanneler extends CardImpl { + + public ChaosChanneler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Wild Magic Surge — Whenever Chaos Channeler attacks, roll a d20. + RollDieWithResultTableEffect effect = new RollDieWithResultTableEffect(); + this.addAbility(new AttacksTriggeredAbility(effect).withFlavorWord("Wild Magic Surge")); + + // 1-9 | Exile the top card of your library. You may play it this turn. + effect.addTableEntry(1, 9, new ExileTopXMayPlayUntilEndOfTurnEffect(1) + .setText("exile the top card of your library. You may play it this turn")); + + // 10-19 | Exile the top two cards of your library. You may play them this turn. + effect.addTableEntry(10, 19, new ExileTopXMayPlayUntilEndOfTurnEffect(2) + .setText("exile the top two cards of your library. You may play them this turn")); + + // 20 | Exile the top three cards of your library. You may play them this turn. + effect.addTableEntry(20, 20, new ExileTopXMayPlayUntilEndOfTurnEffect(3) + .setText("exile the top three cards of your library. You may play them this turn")); + } + + private ChaosChanneler(final ChaosChanneler card) { + super(card); + } + + @Override + public ChaosChanneler copy() { + return new ChaosChanneler(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java index 4eae8204725..1f2543ee1fc 100644 --- a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java +++ b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java @@ -46,6 +46,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet { cards.add(new SetCardInfo("Burning Hands", 135, Rarity.UNCOMMON, mage.cards.b.BurningHands.class)); cards.add(new SetCardInfo("Cave of the Frost Dragon", 253, Rarity.RARE, mage.cards.c.CaveOfTheFrostDragon.class)); cards.add(new SetCardInfo("Celestial Unicorn", 5, Rarity.COMMON, mage.cards.c.CelestialUnicorn.class)); + cards.add(new SetCardInfo("Chaos Channeler", 136, Rarity.UNCOMMON, mage.cards.c.ChaosChanneler.class)); cards.add(new SetCardInfo("Charmed Sleep", 50, Rarity.COMMON, mage.cards.c.CharmedSleep.class)); cards.add(new SetCardInfo("Check for Traps", 92, Rarity.UNCOMMON, mage.cards.c.CheckForTraps.class)); cards.add(new SetCardInfo("Choose Your Weapon", 175, Rarity.UNCOMMON, mage.cards.c.ChooseYourWeapon.class));