@Override public ExertSourceCost copy() { return new ExertSourceCost(this); } }
public StewardOfSolidarity(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); // {T}, Exert Steward of Solidarity: Create a 1/1 white Warrior creature token with vigilance. Effect effect = new CreateTokenEffect(new WarriorVigilantToken()); effect.setText("Create a 1/1 white Warrior creature token with vigilance"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); ability.addCost(new ExertSourceCost()); this.addAbility(ability); }
public OasisRitualist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); this.subtype.add(SubType.NAGA); this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(4); // {T}: Add one mana of any color. this.addAbility(new AnyColorManaAbility()); // {T}, Exert Oasis Ritualist: Add two mana of any one color to your manna pool. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, (ManaEffect) new AddManaOfAnyColorEffect(2).setText("Add two mana of any one color to your manna pool. <i> (An exerted creature won't untap during your next untap step.)</i>"), new TapSourceCost()); ability.addCost(new ExertSourceCost()); this.addAbility(ability); }
public FerventPaincaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); // {T}: Fervent Paincaster deals 1 damage to target player. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); // {T}, Exert Fervent Paincaster: It deals 1 damage to target creature. Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1, "It"), new TapSourceCost()); ability2.addCost(new ExertSourceCost()); ability2.addTarget(new TargetCreaturePermanent()); this.addAbility(ability2); }
public PrideSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); // Pride Sovereign gets +1/+1 for each other Cat you control. FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(SubType.CAT, "other Cat you control"); filter.add(AnotherPredicate.instance); DynamicValue otherCats = new PermanentsOnBattlefieldCount(filter); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(otherCats, otherCats, Duration.WhileOnBattlefield))); // {W}, {t}, Exert Pride Sovereign: Create two 1/1 white Cat creature tokens with lifelink. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new CatToken2(), 2), new ManaCostsImpl("{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new ExertSourceCost()); this.addAbility(ability); }
public HopeTender(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); // {1}, {T}: Untap target land. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetLandPermanent()); this.addAbility(ability); // {1}, {T}, Exert Hope Tender: Untap two target lands. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); ability.addCost(new TapSourceCost()); ability.addCost(new ExertSourceCost()); ability.addTarget(new TargetLandPermanent(2)); addAbility(ability); }
public AngelOfCondemnation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); // Flying this.addAbility(FlyingAbility.getInstance()); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // {2}{W}, {T}: Exile another target creature. Return that card to the battlefield under its owner's control at the beginning of the next end step. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AngelOfCondemnationExileUntilEOTEffect(), new ManaCostsImpl<>("{2}{W}")); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); // {2}{W}, {T}, Exert Angel of Condemnation: Exile another target creature until Angel of Condemnation leaves the battlefield. Effect effect = new ExileUntilSourceLeavesEffect(""); effect.setText("Exile another target creature until {this} leaves the battlefield"); ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new ExertSourceCost()); ability.addTarget(new TargetCreaturePermanent(filter)); ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility())); this.addAbility(ability); }