From 3c105d34044c3307f491159608e5dfc4777551da Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 17 Apr 2022 18:12:04 -0400 Subject: [PATCH] [SNC] Implemented Rhox Pummeler --- Mage.Sets/src/mage/cards/r/RhoxPummeler.java | 57 +++++++++++++++++++ .../src/mage/sets/StreetsOfNewCapenna.java | 1 + 2 files changed, 58 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RhoxPummeler.java diff --git a/Mage.Sets/src/mage/cards/r/RhoxPummeler.java b/Mage.Sets/src/mage/cards/r/RhoxPummeler.java new file mode 100644 index 0000000000..8bc82a123f --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RhoxPummeler.java @@ -0,0 +1,57 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.SourceHasCounterCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RhoxPummeler extends CardImpl { + + private static final Condition condition = new SourceHasCounterCondition(CounterType.SHIELD); + + public RhoxPummeler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); + + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(6); + this.toughness = new MageInt(3); + + // Rhox Pummeler enters the battlefield with a shield counter on it. + this.addAbility(new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.SHIELD.createInstance(1)), + "with a shield counter on it. (If it would be dealt damage " + + "or destroyed, remove a shield counter from it instead.)" + )); + + // As long as Rhox Pummeler has a shield counter on it, it has trample. + this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( + new GainAbilitySourceEffect(TrampleAbility.getInstance()), condition, + "as long as {this} has a shield counter on it, it has trample" + ))); + } + + private RhoxPummeler(final RhoxPummeler card) { + super(card); + } + + @Override + public RhoxPummeler copy() { + return new RhoxPummeler(this); + } +} diff --git a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java index 14820bd103..cc25ac6293 100644 --- a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java +++ b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java @@ -193,6 +193,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet { cards.add(new SetCardInfo("Reservoir Kraken", 56, Rarity.RARE, mage.cards.r.ReservoirKraken.class)); cards.add(new SetCardInfo("Revel Ruiner", 91, Rarity.COMMON, mage.cards.r.RevelRuiner.class)); cards.add(new SetCardInfo("Revelation of Power", 28, Rarity.COMMON, mage.cards.r.RevelationOfPower.class)); + cards.add(new SetCardInfo("Rhox Pummeler", 155, Rarity.COMMON, mage.cards.r.RhoxPummeler.class)); cards.add(new SetCardInfo("Riveteers Charm", 217, Rarity.UNCOMMON, mage.cards.r.RiveteersCharm.class)); cards.add(new SetCardInfo("Riveteers Decoy", 156, Rarity.UNCOMMON, mage.cards.r.RiveteersDecoy.class)); cards.add(new SetCardInfo("Riveteers Initiate", 120, Rarity.COMMON, mage.cards.r.RiveteersInitiate.class));