public Evangelize(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}"); // Buyback {2}{W}{W} this.addAbility(new BuybackAbility("{2}{W}{W}")); // Gain control of target creature of an opponent's choice that he or she controls. GainControlTargetEffect effect = new GainControlTargetEffect(Duration.EndOfGame); effect.setText("Gain control of target creature of an opponent's choice he or she controls"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetOpponentsChoicePermanent(1, 1, filter, false, true)); }
public MassManipulation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{U}{U}{U}{U}"); // Gain control of X target creatures and/or planeswalkers. this.getSpellAbility().addEffect( new GainControlTargetEffect(Duration.Custom, true) .setText("Gain control of X target creatures and/or planeswalkers.") ); this.getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker()); this.getSpellAbility().setTargetAdjuster(MassManipulationAdjuster.instance); }
public GripOfPhyresis(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); // Gain control of target Equipment, then create a 0/0 black Germ creature token and attach that Equipment to it. GainControlTargetEffect effect = new GainControlTargetEffect(Duration.EndOfGame, true); effect.setText("Gain control of target equipment"); this.getSpellAbility().addEffect(effect); Target targetEquipment = new TargetPermanent(filter); this.getSpellAbility().addTarget(targetEquipment); this.getSpellAbility().addEffect(new GripOfPhyresisEffect()); }
public Disharmony(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}"); // Cast Disharmony only during combat before blockers are declared. this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(TurnPhase.COMBAT, BeforeBlockersAreDeclaredCondition.instance)); // Untap target attacking creature and remove it from combat. Gain control of that creature until end of turn. this.getSpellAbility().addEffect(new UntapTargetEffect()); this.getSpellAbility().addEffect(new RemoveFromCombatTargetEffect().setText("and remove it from combat.")); this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn, true).setText("Gain control of that creature until end of turn.")); this.getSpellAbility().addTarget(new TargetAttackingCreature()); }
public Threaten(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}"); this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap target creature")); this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn).setText("and gain control of it until end of turn")); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gains haste until end of turn.")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); }
public Goatnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); Ability ability = new EntersBattlefieldTriggeredAbility(new UntapTargetEffect(), false); ability.addTarget(new TargetPermanent(filter)); ability.addEffect(new GainControlTargetEffect(Duration.EndOfTurn).setText("and gain control of it until end of turn")); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gains haste until end of turn")); this.addAbility(ability); }
public BlindWithAnger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}"); this.subtype.add(SubType.ARCANE); this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap target nonlegendary creature")); this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn).setText("and gain control of it until end of turn")); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gains haste until end of turn.")); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); }
public FlashConscription(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{5}{R}"); // Untap target creature and gain control of it until end of turn. That creature gains haste until end of turn. If {W} was spent to cast Flash Conscription, the creature gains "Whenever this creature deals combat damage, you gain that much life" until end of turn. this.getSpellAbility().addEffect(new UntapTargetEffect()); this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn).setText("and gain control of it until end of turn")); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("That creature gains haste until end of turn")); this.getSpellAbility().addEffect(new ConditionalContinuousEffect( new GainAbilityTargetEffect(new FlashConscriptionTriggeredAbility(), Duration.EndOfTurn), new ManaWasSpentCondition(ColoredManaSymbol.W), "If {W} was spent to cast {this}, the creature gains " + "\"Whenever this creature deals combat damage, you gain that much life\" until end of turn" )); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); }
public SupremeLeaderSnoke(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{U}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.SNOKE); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +1: Put a loyalty counter on Supreme Leader Snoke for each life lost by all opponents from noncombat sources this turn. Ability ability1 = new LoyaltyAbility(new SupremeLeaderSnokeCounterEffect(CounterType.LOYALTY.createInstance()), 1); this.addAbility(ability1); // -1: Draw a card and lose 1 life. Ability ability2 = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), -1); ability2.addEffect(new LoseLifeSourceControllerEffect(1).setText("and lose 1 life")); this.addAbility(ability2); // -X: Gain control of target creature with converted mana cost X. Untap that creature. It gains haste. Sacrifice that creature at the beginning of the next end step. Ability ability3 = new LoyaltyAbility(new GainControlTargetEffect(Duration.WhileOnBattlefield) .setText("Gain control of target creature with converted mana cost X")); ability3.addEffect(new UntapTargetEffect().setText("Untap that creature")); ability3.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield).setText("It gains haste")); ability3.addEffect(new GainAbilityTargetEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new SacrificeSourceEffect()), Duration.WhileOnBattlefield) .setText("Sacrifice that creature at the beginning of the next end step")); ability3.setTargetAdjuster(SupremeLeaderSnokeAdjuster.instance); this.addAbility(ability3); }