diff --git a/Mage.Sets/src/mage/cards/t/TARDIS.java b/Mage.Sets/src/mage/cards/t/TARDIS.java new file mode 100644 index 000000000000..ead99903afe3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TARDIS.java @@ -0,0 +1,66 @@ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.effects.common.PlaneswalkEffect; +import mage.abilities.effects.common.continuous.NextSpellCastHasAbilityEffect; +import mage.abilities.hint.ConditionHint; +import mage.abilities.hint.Hint; +import mage.abilities.keyword.CascadeAbility; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.CrewAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.filter.common.FilterControlledPermanent; + +/** + * + * @author Skiwkr + */ +public final class TARDIS extends CardImpl { + private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.TIME_LORD); + + private static final Condition condition = new PermanentsOnTheBattlefieldCondition(filter); + + private static final Hint hint = new ConditionHint(condition, "You control a Time Lord"); + + public TARDIS(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + this.addAbility(FlyingAbility.getInstance()); + + // Whenever TARDIS attacks, if you control a Time Lord, the next spell you cast this turn has cascade, and you may planeswalk. + Ability ability = new ConditionalInterveningIfTriggeredAbility( + new AttacksTriggeredAbility(new NextSpellCastHasAbilityEffect(new CascadeAbility()), false), + new PermanentsOnTheBattlefieldCondition(filter), + "Whenever {this} attacks, if you control a Time Lord, the next spell you cast this turn has cascade, and you may planeswalk."); + + ability.addEffect(new PlaneswalkEffect(true)); + + ability.addHint(hint); + + this.addAbility(ability); + // Crew 2 + this.addAbility(new CrewAbility(2)); + + } + + private TARDIS(final TARDIS card) { + super(card); + } + + @Override + public TARDIS copy() { + return new TARDIS(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DoctorWho.java b/Mage.Sets/src/mage/sets/DoctorWho.java index 3ea6e9af7119..17a67c2cd5ab 100644 --- a/Mage.Sets/src/mage/sets/DoctorWho.java +++ b/Mage.Sets/src/mage/sets/DoctorWho.java @@ -200,6 +200,7 @@ private DoctorWho() { cards.add(new SetCardInfo("Surge of Brilliance", 57, Rarity.UNCOMMON, mage.cards.s.SurgeOfBrilliance.class)); cards.add(new SetCardInfo("Swamp", 200, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Swords to Plowshares", 212, Rarity.UNCOMMON, mage.cards.s.SwordsToPlowshares.class)); + cards.add(new SetCardInfo("TARDIS", 187, Rarity.UNCOMMON, mage.cards.t.TARDIS.class)); cards.add(new SetCardInfo("Talisman of Conviction", 247, Rarity.UNCOMMON, mage.cards.t.TalismanOfConviction.class)); cards.add(new SetCardInfo("Talisman of Creativity", 248, Rarity.UNCOMMON, mage.cards.t.TalismanOfCreativity.class)); cards.add(new SetCardInfo("Talisman of Curiosity", 249, Rarity.UNCOMMON, mage.cards.t.TalismanOfCuriosity.class));