From b2d98e55f8e302e29f9e0b3f4cffc2c054b52aa4 Mon Sep 17 00:00:00 2001 From: AhmadYProjects <104733598+AhmadYProjects@users.noreply.github.com> Date: Sun, 23 Apr 2023 21:34:24 -0400 Subject: [PATCH] [ONE]Implement Cinderslash ravager (#9945) * Cinderslash Ravager Added * Cost reduction added, ETB effect added --------- Co-authored-by: AhmadYProjects Co-authored-by: Evan Kranzler --- .../src/mage/cards/c/CinderslashRavager.java | 58 +++++++++++++++++++ .../src/mage/sets/PhyrexiaAllWillBeOne.java | 1 + 2 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/CinderslashRavager.java diff --git a/Mage.Sets/src/mage/cards/c/CinderslashRavager.java b/Mage.Sets/src/mage/cards/c/CinderslashRavager.java new file mode 100644 index 0000000000..0817535852 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CinderslashRavager.java @@ -0,0 +1,58 @@ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect; +import mage.constants.SubType; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.common.FilterOpponentsCreaturePermanent; + +/** + * + * @author AhmadYProjects + */ +public final class CinderslashRavager extends CardImpl { + private static final FilterControlledPermanent filter = new FilterControlledPermanent("permanents you control with an oil counter on it"); + + static { + filter.add(CounterType.OIL.getPredicate()); + } + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter); + + public CinderslashRavager(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}"); + + this.subtype.add(SubType.PHYREXIAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // This spell costs {1} less to cast for each permanent you control with oil counters on it. + this.addAbility(new SimpleStaticAbility(Zone.ALL,new SpellCostReductionForEachSourceEffect(1, xValue))); + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // When Cinderslash Ravager enters the battlefield, it deals 1 damage to each creature your opponents control. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DamageAllEffect(1, new FilterOpponentsCreaturePermanent()))); + } + + private CinderslashRavager(final CinderslashRavager card) { + super(card); + } + + @Override + public CinderslashRavager copy() { + return new CinderslashRavager(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index 4ed79bbed3..9975d9070e 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -66,6 +66,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Chimney Rabble", 126, Rarity.COMMON, mage.cards.c.ChimneyRabble.class)); cards.add(new SetCardInfo("Chittering Skitterling", 87, Rarity.UNCOMMON, mage.cards.c.ChitteringSkitterling.class)); cards.add(new SetCardInfo("Chrome Prowler", 45, Rarity.COMMON, mage.cards.c.ChromeProwler.class)); + cards.add(new SetCardInfo("Cinderslash Ravager", 200, Rarity.UNCOMMON, mage.cards.c.CinderslashRavager.class)); cards.add(new SetCardInfo("Compleat Devotion", 7, Rarity.COMMON, mage.cards.c.CompleatDevotion.class)); cards.add(new SetCardInfo("Contagious Vorrac", 164, Rarity.COMMON, mage.cards.c.ContagiousVorrac.class)); cards.add(new SetCardInfo("Copper Longlegs", 165, Rarity.COMMON, mage.cards.c.CopperLonglegs.class));