From 6fd09cba77f4868e04bc1f1f1b4ba16e248ac3c4 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 10 Sep 2020 20:53:55 -0400 Subject: [PATCH] [ZNR] Implemented Skyclave Sentinel --- .../src/mage/cards/s/SkyclaveSentinel.java | 68 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 1 + 2 files changed, 69 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java diff --git a/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java b/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java new file mode 100644 index 00000000000..034876091cf --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java @@ -0,0 +1,68 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalAsThoughEffect; +import mage.abilities.effects.common.combat.CanAttackAsThoughItDidntHaveDefenderSourceEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.counters.CounterType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SkyclaveSentinel extends CardImpl { + + private static final Condition condition = new SourceHasCounterCondition(CounterType.P1P1); + + public SkyclaveSentinel(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); + + this.subtype.add(SubType.GARGOYLE); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Kicker {4} + this.addAbility(new KickerAbility(new ManaCostsImpl<>("{4}"))); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // If Skyclave Sentinel was kicked, it enters the battlefield with two +1/+1 counters on it. + this.addAbility(new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, + "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "" + )); + + // As long as Skyclave Sentinel has a +1/+1 counter on it, it can attack as though it didn't have defender. + this.addAbility(new SimpleStaticAbility(new ConditionalAsThoughEffect( + new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield), condition + ).setText("as long as {this} has a +1/+1 counter on it, it can attack as though it didn't have defender"))); + } + + private SkyclaveSentinel(final SkyclaveSentinel card) { + super(card); + } + + @Override + public SkyclaveSentinel copy() { + return new SkyclaveSentinel(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index 320b3f56a27..69ae3ce348c 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -328,6 +328,7 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Skyclave Pick-Axe", 204, Rarity.UNCOMMON, mage.cards.s.SkyclavePickAxe.class)); cards.add(new SetCardInfo("Skyclave Plunder", 81, Rarity.UNCOMMON, mage.cards.s.SkyclavePlunder.class)); cards.add(new SetCardInfo("Skyclave Relic", 252, Rarity.RARE, mage.cards.s.SkyclaveRelic.class)); + cards.add(new SetCardInfo("Skyclave Sentinel", 253, Rarity.COMMON, mage.cards.s.SkyclaveSentinel.class)); cards.add(new SetCardInfo("Skyclave Shade", 125, Rarity.RARE, mage.cards.s.SkyclaveShade.class)); cards.add(new SetCardInfo("Skyclave Shadowcat", 126, Rarity.UNCOMMON, mage.cards.s.SkyclaveShadowcat.class)); cards.add(new SetCardInfo("Skyclave Squid", 82, Rarity.COMMON, mage.cards.s.SkyclaveSquid.class));