diff --git a/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java b/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java index e549ce5bec0..8d2caa9b78d 100644 --- a/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java @@ -1,8 +1,8 @@ - package mage.cards.d; import java.util.UUID; import mage.MageInt; +import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -15,21 +15,17 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; /** * * @author Loki */ public final class DrogskolCaptain extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Spirit"); - static { - filter.add(new SubtypePredicate(SubType.SPIRIT)); - } + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.SPIRIT, "Spirits"); public DrogskolCaptain(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}"); this.subtype.add(SubType.SPIRIT); this.subtype.add(SubType.SOLDIER); @@ -37,9 +33,21 @@ public final class DrogskolCaptain extends CardImpl { this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); + // Other Spirit creatures you control get +1/+1 and have hexproof. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, filter, true))); + Ability ability = new SimpleStaticAbility( + Zone.BATTLEFIELD, + new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, + filter, true + ) + ); + ability.addEffect(new GainAbilityControlledEffect( + HexproofAbility.getInstance(), + Duration.WhileOnBattlefield, + filter, true + ).setText("and have hexproof")); + this.addAbility(ability); } public DrogskolCaptain(final DrogskolCaptain card) { diff --git a/Mage.Sets/src/mage/cards/s/SupremePhantom.java b/Mage.Sets/src/mage/cards/s/SupremePhantom.java new file mode 100644 index 00000000000..bcb8f301377 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SupremePhantom.java @@ -0,0 +1,52 @@ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author TheElk801 + */ +public final class SupremePhantom extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.SPIRIT, "Spirits"); + + public SupremePhantom(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + + this.subtype.add(SubType.SPIRIT); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Other Spirits you control get +1/+1. + this.addAbility(new SimpleStaticAbility( + Zone.BATTLEFIELD, + new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, + filter, true + ) + )); + } + + public SupremePhantom(final SupremePhantom card) { + super(card); + } + + @Override + public SupremePhantom copy() { + return new SupremePhantom(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index e82432cbb1a..9de47c68d28 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -211,6 +211,7 @@ public final class CoreSet2019 extends ExpansionSet { cards.add(new SetCardInfo("Stitcher's Supplier", 121, Rarity.UNCOMMON, mage.cards.s.StitchersSupplier.class)); cards.add(new SetCardInfo("Strangling Spores", 122, Rarity.COMMON, mage.cards.s.StranglingSpores.class)); cards.add(new SetCardInfo("Sun Sentinel", 307, Rarity.COMMON, mage.cards.s.SunSentinel.class)); + cards.add(new SetCardInfo("Supreme Phantom", 76, Rarity.RARE, mage.cards.s.SupremePhantom.class)); cards.add(new SetCardInfo("Sure Strike", 161, Rarity.COMMON, mage.cards.s.SureStrike.class)); cards.add(new SetCardInfo("Surge Mare", 77, Rarity.UNCOMMON, mage.cards.s.SurgeMare.class)); cards.add(new SetCardInfo("Suspicious Bookcase", 246, Rarity.UNCOMMON, mage.cards.s.SuspiciousBookcase.class));