@Override public SupportEffect copy() { return new SupportEffect(this); }
public SupportEffect(Card card, int amount, boolean otherPermanent) { super(CounterType.P1P1.createInstance(0), new StaticValue(1)); this.amountSupportTargets = new StaticValue(amount); this.otherPermanent = otherPermanent; if (card.isInstant() || card.isSorcery()) { card.getSpellAbility().addTarget(new TargetCreaturePermanent(0, amount, new FilterCreaturePermanent("target creatures"), false)); } staticText = setText(); }
public LeadByExample(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}"); // Support 2. getSpellAbility().addEffect(new SupportEffect(this, 2, false)); }
public SaddlebackLagac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); // When Saddleback Lagac enters the battlefield, support 2. Ability ability = new EntersBattlefieldTriggeredAbility(new SupportEffect(this, 2, true), false); ability.addTarget(new TargetCreaturePermanent(0, 2, FILTER, false)); this.addAbility(ability); }
public UnityOfPurpose(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{U}"); // Support 2. getSpellAbility().addEffect(new SupportEffect(this, 2, false)); // Untap each creature you control with a +1/+1 counter on it. this.getSpellAbility().addEffect(new UntapAllControllerEffect(filter, "Untap each creature you control with a +1/+1 counter on it")); }
public ShoulderToShoulder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{W}"); // Support 2. getSpellAbility().addEffect(new SupportEffect(this, 2, false)); // Draw a card. getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); }
public JoragaAuxiliary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); this.subtype.add(SubType.ELF); this.subtype.add(SubType.SOLDIER); this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); // {4}{G}{W}: Support 2. (Put a +1/+1 counter on each of up to two other target creatures.) Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SupportEffect(this, 2, true), new ManaCostsImpl("{4}{G}{W}")); ability.addTarget(new TargetCreaturePermanent(0, 2, filter, false)); this.addAbility(ability); }
public SupportAbility(Card card, int amount) { super(new SupportEffect(card, amount, true)); if (!card.isInstant() && !card.isSorcery()) { FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures"); if (card.isCreature()) { filter.add(AnotherPredicate.instance); filter.setMessage("other target creatures"); } addTarget(new TargetCreaturePermanent(0, amount, filter, false)); } }
public NissasJudgment(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{G}"); // Support 2. Effect effect = new SupportEffect(this, 2, false); getSpellAbility().addEffect(effect); // Choose up to one target creature an opponent controls. Each creature you control with a +1/+1 counter on it deals damage equal to its power to that creature. effect = new NissasJudgmentEffect(); effect.setTargetPointer(new SecondTargetPointer()); // First target is used by Support getSpellAbility().addTarget(new TargetCreaturePermanent(0, 1, FILTER, false)); getSpellAbility().addEffect(effect); }
public PressIntoService(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{R}"); // Support 2. getSpellAbility().addEffect(new SupportEffect(this, 2, false)); // Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); Effect effect = new GainControlTargetEffect(Duration.EndOfTurn); effect.setTargetPointer(new SecondTargetPointer()); // First target is used by Support this.getSpellAbility().addEffect(effect); effect = new UntapTargetEffect(); effect.setText("Untap that creature"); effect.setTargetPointer(new SecondTargetPointer()); // First target is used by Support this.getSpellAbility().addEffect(effect); effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn); effect.setTargetPointer(new SecondTargetPointer()); // First target is used by Suppor effect.setText("It gains haste until end of turn"); this.getSpellAbility().addEffect(effect); }