diff --git a/Mage.Sets/src/mage/cards/k/KolodinTriumphCaster.java b/Mage.Sets/src/mage/cards/k/KolodinTriumphCaster.java new file mode 100644 index 00000000000..dd4b4110415 --- /dev/null +++ b/Mage.Sets/src/mage/cards/k/KolodinTriumphCaster.java @@ -0,0 +1,68 @@ +package mage.cards.k; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.SaddleTargetMountEffect; +import mage.abilities.effects.common.continuous.AddCardTypeTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.HasteAbility; +import mage.constants.*; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.filter.FilterPermanent; +import mage.filter.StaticFilters; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; + +/** + * + * @author Jmlundeen + */ +public final class KolodinTriumphCaster extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("Mounts and Vehicles you control"); + private static final FilterControlledPermanent mountFilter = new FilterControlledPermanent("Mount"); + private static final FilterControlledPermanent vehicleFilter = new FilterControlledPermanent("Vehicle"); + static { + filter.add(Predicates.or( + SubType.MOUNT.getPredicate(), + SubType.VEHICLE.getPredicate() + )); + mountFilter.add(SubType.MOUNT.getPredicate()); + vehicleFilter.add(SubType.VEHICLE.getPredicate()); + } + + public KolodinTriumphCaster(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PILOT); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Mounts and Vehicles you control have haste. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new GainAbilityControlledEffect(HasteAbility.getInstance(), + Duration.WhileOnBattlefield, filter))); + // Whenever a Mount you control enters, it becomes saddled until end of turn. + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new SaddleTargetMountEffect("it becomes saddled until end of turn"), + mountFilter)); + // Whenever a Vehicle you control enters, it becomes an artifact creature until end of turn. + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new AddCardTypeTargetEffect( + Duration.EndOfTurn, CardType.ARTIFACT, CardType.CREATURE) + .setText("it becomes an artifact creature until end of turn"), vehicleFilter) + ); + } + + private KolodinTriumphCaster(final KolodinTriumphCaster card) { + super(card); + } + + @Override + public KolodinTriumphCaster copy() { + return new KolodinTriumphCaster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Aetherdrift.java b/Mage.Sets/src/mage/sets/Aetherdrift.java index 85b43477ebf..e5458abe890 100644 --- a/Mage.Sets/src/mage/sets/Aetherdrift.java +++ b/Mage.Sets/src/mage/sets/Aetherdrift.java @@ -153,6 +153,9 @@ public final class Aetherdrift extends ExpansionSet { cards.add(new SetCardInfo("Kalakscion, Hunger Tyrant", 93, Rarity.UNCOMMON, mage.cards.k.KalakscionHungerTyrant.class)); cards.add(new SetCardInfo("Keen Buccaneer", 48, Rarity.COMMON, mage.cards.k.KeenBuccaneer.class)); cards.add(new SetCardInfo("Kickoff Celebrations", 135, Rarity.COMMON, mage.cards.k.KickoffCelebrations.class)); + cards.add(new SetCardInfo("Kolodin, Triumph Caster", 210, Rarity.RARE, mage.cards.k.KolodinTriumphCaster.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Kolodin, Triumph Caster", 364, Rarity.RARE, mage.cards.k.KolodinTriumphCaster.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Kolodin, Triumph Caster", 483, Rarity.RARE, mage.cards.k.KolodinTriumphCaster.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Lagorin, Soul of Alacria", 211, Rarity.UNCOMMON, mage.cards.l.LagorinSoulOfAlacria.class)); cards.add(new SetCardInfo("Leonin Surveyor", 18, Rarity.COMMON, mage.cards.l.LeoninSurveyor.class)); cards.add(new SetCardInfo("Lifecraft Engine", 234, Rarity.RARE, mage.cards.l.LifecraftEngine.class));