@Override public SimpleStaticAbility copy() { return new SplitSecondAbility(this); } }
public SplitSecondAbility() { super(Zone.STACK, new SplitSecondEffect()); this.setRuleAtTheTop(true); }
public Trickbind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}"); // Split second this.addAbility(new SplitSecondAbility()); // Counter target activated or triggered ability. If a permanent's ability is countered this way, activated abilities of that permanent can't be activated this turn. this.getSpellAbility().addEffect(new TrickbindCounterEffect()); this.getSpellAbility().addTarget(new TargetActivatedOrTriggeredAbility()); }
public SuddenShock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); // Split second this.addAbility(new SplitSecondAbility()); // Sudden Shock deals 2 damage to any target. this.getSpellAbility().addEffect(new DamageTargetEffect(2, true)); this.getSpellAbility().addTarget(new TargetAnyTarget()); }
public KrosanGrip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{G}"); // Split second this.addAbility(new SplitSecondAbility()); // Destroy target artifact or enchantment. this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); this.getSpellAbility().addEffect(new DestroyTargetEffect()); }
public SuddenDeath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{B}{B}"); // Split second this.addAbility(new SplitSecondAbility()); // Target creature gets -4/-4 until end of turn. this.getSpellAbility().addEffect(new BoostTargetEffect(-4, -4, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); }
public Extirpate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}"); // Split second this.addAbility(new SplitSecondAbility()); // Choose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for all cards with the same name as that card and exile them. Then that player shuffles their library. this.getSpellAbility().addEffect(new ExtirpateEffect()); this.getSpellAbility().addTarget(new TargetCardInGraveyard(filter)); }
public WipeAway(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}{U}"); // Split second this.addAbility(new SplitSecondAbility()); // Return target permanent to its owner's hand. this.getSpellAbility().addTarget(new TargetPermanent()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); }
public AngelsGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}"); // Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) this.addAbility(new SplitSecondAbility()); // You can't lose the game this turn and your opponents can't win the game this turn. Until end of turn, damage that would reduce your life total to less than 1 reduces it to 1 instead. this.getSpellAbility().addEffect(new AngelsGraceEffect()); this.getSpellAbility().addEffect(new AngelsGraceReplacementEffect()); }
public SuddenSpoiling(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}{B}"); // Split second this.addAbility(new SplitSecondAbility()); // Until end of turn, creatures target player controls lose all abilities and have base power and toughness 0/2. this.getSpellAbility().addEffect(new SuddenSpoilingEffect(Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetPlayer()); }
public SulfurElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); // Split second this.addAbility(new SplitSecondAbility()); // Flash this.addAbility(FlashAbility.getInstance()); // White creatures get +1/-1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, -1, Duration.WhileOnBattlefield, filter, false))); }
public Quagnoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); // Split second this.addAbility(new SplitSecondAbility()); // Shroud this.addAbility(ShroudAbility.getInstance()); // When a spell or ability an opponent controls causes you to discard Quagnoth, return it to your hand. this.addAbility(new DiscardedByOpponentTriggeredAbility(new ReturnToHandSourceEffect())); }
public CelestialCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); // Flash (You may cast this spell any time you could cast an instant.) this.addAbility(FlashAbility.getInstance()); // Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) this.addAbility(new SplitSecondAbility()); // Flying this.addAbility(FlyingAbility.getInstance()); // Other white creatures get +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); }
public StonewoodInvocation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{G}"); // Split second this.addAbility(new SplitSecondAbility()); // Target creature gets +5/+5 and gains shroud until end of turn. Effect effect = new BoostTargetEffect(5, 5, Duration.EndOfTurn); effect.setText("Target creature gets +5/+5"); this.getSpellAbility().addEffect(effect); effect = new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gains shroud until end of turn"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); }
public TakePossession(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{U}{U}"); this.subtype.add(SubType.AURA); // Split second this.addAbility(new SplitSecondAbility()); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted permanent. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect("permanent"))); }
public WordOfSeizing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}{R}"); // Split second this.addAbility(new SplitSecondAbility()); // Untap target permanent and gain control of it until end of turn. It gains haste until end of turn. this.getSpellAbility().addEffect(new UntapTargetEffect()); Effect effect = new GainControlTargetEffect(Duration.EndOfTurn); effect.setText("and gain control of it until end of turn"); this.getSpellAbility().addEffect(effect); effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn); effect.setText("It gains haste until end of turn"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetPermanent()); }