diff --git a/Mage.Sets/src/mage/cards/a/ArisenGorgon.java b/Mage.Sets/src/mage/cards/a/ArisenGorgon.java new file mode 100644 index 00000000000..c597a60392a --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArisenGorgon.java @@ -0,0 +1,56 @@ +package mage.cards.a; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPlaneswalkerPermanent; + +/** + * + * @author TheElk801 + */ +public final class ArisenGorgon extends CardImpl { + + private static final FilterControlledPlaneswalkerPermanent filter = new FilterControlledPlaneswalkerPermanent(SubType.LILIANA, "a Liliana planeswalker"); + + public ArisenGorgon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); + + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GORGON); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Arisen Gorgon has deathtouch as long as you control a Liliana planeswalker. + this.addAbility(new SimpleStaticAbility( + Zone.BATTLEFIELD, + new ConditionalContinuousEffect( + new GainAbilitySourceEffect( + DeathtouchAbility.getInstance(), + Duration.WhileOnBattlefield + ), + new PermanentsOnTheBattlefieldCondition(filter), + "{this} has deathtouch as long as you control a Liliana planeswalker" + ) + )); + } + + public ArisenGorgon(final ArisenGorgon card) { + super(card); + } + + @Override + public ArisenGorgon copy() { + return new ArisenGorgon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index 9e6f18f651c..ca4423e73a4 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -30,6 +30,7 @@ public final class CoreSet2019 extends ExpansionSet { cards.add(new SetCardInfo("Air Elemental", 308, Rarity.UNCOMMON, mage.cards.a.AirElemental.class)); cards.add(new SetCardInfo("Anticipate", 44, Rarity.COMMON, mage.cards.a.Anticipate.class)); cards.add(new SetCardInfo("Apex of Power", 129, Rarity.MYTHIC, mage.cards.a.ApexOfPower.class)); + cards.add(new SetCardInfo("Arisen Gorgon", 292, Rarity.UNCOMMON, mage.cards.a.ArisenGorgon.class)); cards.add(new SetCardInfo("Aven Wind Mage", 45, Rarity.COMMON, mage.cards.a.AvenWindMage.class)); cards.add(new SetCardInfo("Befuddle", 309, Rarity.COMMON, mage.cards.b.Befuddle.class)); cards.add(new SetCardInfo("Bogstomper", 87, Rarity.COMMON, mage.cards.b.Bogstomper.class)); diff --git a/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java b/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java index d00b601abe5..9cbee3044f3 100644 --- a/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java +++ b/Mage/src/main/java/mage/filter/common/FilterControlledPlaneswalkerPermanent.java @@ -1,20 +1,26 @@ - package mage.filter.common; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; /** * * @author LevelX2 */ - public class FilterControlledPlaneswalkerPermanent extends FilterControlledPermanent { public FilterControlledPlaneswalkerPermanent() { this("planeswalker you control"); } + public FilterControlledPlaneswalkerPermanent(SubType subType, String name) { + super(name); + this.add(new CardTypePredicate(CardType.PLANESWALKER)); + this.add(new SubtypePredicate(subType)); + } + public FilterControlledPlaneswalkerPermanent(String name) { super(name); this.add(new CardTypePredicate(CardType.PLANESWALKER));