@Override public EntersBattlefieldAbility copy() { return new SunburstAbility(this); }
public SuntouchedMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); this.subtype.add(SubType.MYR); this.power = new MageInt(0); this.toughness = new MageInt(0); // Sunburst this.addAbility(new SunburstAbility(this)); }
public SkyreachManta(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); this.subtype.add(SubType.FISH); this.power = new MageInt(0); this.toughness = new MageInt(0); // Sunburst this.addAbility(new SunburstAbility(this)); // Flying this.addAbility(FlyingAbility.getInstance()); }
public PentadPrism(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // Sunburst this.addAbility(new SunburstAbility(this)); // Remove a charge counter from Pentad Prism: Add one mana of any color. this.addAbility(new AnyColorManaAbility(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)))); }
public ModularAbility(Card card, int amount, boolean sunburst) { super(new ModularDistributeCounterEffect(), true); Target target = new TargetArtifactPermanent(filter); this.addTarget(target); this.amount = amount; this.sunburst = sunburst; if (sunburst) { Ability ability = new SunburstAbility(card); ability.setRuleVisible(false); addSubAbility(ability); } else { addSubAbility(new ModularStaticAbility(amount)); } }
public ClearwaterGoblet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}"); // Sunburst this.addAbility(new SunburstAbility(this)); // At the beginning of your upkeep, you may gain life equal to the number of charge counters on Clearwater Goblet. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(new CountersSourceCount(CounterType.CHARGE)), TargetController.YOU, true)); }
public EngineeredExplosives(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{X}"); // Sunburst this.addAbility(new SunburstAbility(this)); // {2}, Sacrifice Engineered Explosives: Destroy each nonland permanent with converted mana cost equal to the number of charge counters on Engineered Explosives. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new EngineeredExplosivesEffect(), new ManaCostsImpl("{2}")); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public SawtoothThresher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); // Sunburst this.addAbility(new SunburstAbility(this)); // Remove two +1/+1 counters from Sawtooth Thresher: Sawtooth Thresher gets +4/+4 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(4, 4, Duration.EndOfTurn), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2)))); }
public LunarAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}"); this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(2); // Sunburst this.addAbility(new SunburstAbility(this)); // Remove a +1/+1 counter from Lunar Avenger: Lunar Avenger gains your choice of flying, first strike, or haste until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LunarAvengerEffect(), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)))); }
public BatonOfCourage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // Flash this.addAbility(FlashAbility.getInstance()); // Sunburst this.addAbility(new SunburstAbility(this)); // Remove a charge counter from Baton of Courage: Target creature gets +1/+1 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1))); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public Solarion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); // Sunburst this.addAbility(new SunburstAbility(this)); // {tap}: Double the number of +1/+1 counters on Solarion. Effect effect = new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), new CountersSourceCount(CounterType.P1P1), true); effect.setText("Double the number of +1/+1 counters on {this}"); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost())); }
public Heliophial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}"); // Sunburst this.addAbility(new SunburstAbility(this)); // {2}, Sacrifice Heliophial: Heliophial deals damage equal to the number of charge counters on it to any target. Effect effect = new DamageTargetEffect(new CountersSourceCount(CounterType.CHARGE)); effect.setText("{this} deals damage equal to the number of charge counters on it to any target"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}")); ability.addCost(new SacrificeSourceCost()); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); }
public InfusedArrows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); // Sunburst this.addAbility(new SunburstAbility(this)); // {tap}, Remove X charge counters from Infused Arrows: Target creature gets -X/-X until end of turn. DynamicValue value = new SignInversionDynamicValue(RemovedCountersForCostValue.instance); Effect effect = new BoostTargetEffect(value, value, Duration.EndOfTurn); effect.setText("Target creature gets -X/-X until end of turn"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); ability.addCost(new RemoveVariableCountersSourceCost(CounterType.CHARGE.createInstance())); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public SpinalParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); this.subtype.add(SubType.INSECT); this.power = new MageInt(-1); this.toughness = new MageInt(-1); // Sunburst this.addAbility(new SunburstAbility(this)); // Remove two +1/+1 counters from Spinal Parasite: Remove a counter from target permanent. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterTargetEffect(), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))); ability.addTarget(new TargetPermanent()); this.addAbility(ability); }
public EtchedOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(0); // Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.) this.addAbility(new SunburstAbility(this)); // {1}, Remove four +1/+1 counters from Etched Oracle: Target player draws three cards. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(3), new ManaCostsImpl("{1}")); ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(4))); ability.addTarget(new TargetPlayer()); this.addAbility(ability); }
public OpalineBracers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); this.subtype.add(SubType.EQUIPMENT); // Sunburst this.addAbility(new SunburstAbility(this)); // Equipped creature gets +X/+X, where X is the number of charge counters on Opaline Bracers. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CountersSourceCount(CounterType.CHARGE), new CountersSourceCount(CounterType.CHARGE)))); // Equip {2} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2))); }
public Suncrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{9}"); this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); // Sunburst this.addAbility(new SunburstAbility(this)); // {4}, {tap}, Remove a +1/+1 counter from Suncrusher: Destroy target creature. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new GenericManaCost(4)); ability.addCost(new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1))); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // {2}, Remove a +1/+1 counter from Suncrusher: Return Suncrusher to its owner's hand. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new GenericManaCost(2)); ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1))); this.addAbility(ability); }