mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
[ONE] Implement Serum-Core Chimera (#10012)
This commit is contained in:
parent
9ab63b73ca
commit
71f4d4b19d
2 changed files with 67 additions and 0 deletions
66
Mage.Sets/src/mage/cards/s/SerumCoreChimera.java
Normal file
66
Mage.Sets/src/mage/cards/s/SerumCoreChimera.java
Normal file
|
@ -0,0 +1,66 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||
import mage.abilities.costs.common.DiscardCardCost;
|
||||
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.DoWhenCostPaid;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetCreatureOrPlaneswalker;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class SerumCoreChimera extends CardImpl {
|
||||
public SerumCoreChimera(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}");
|
||||
this.addSubType(SubType.PHYREXIAN);
|
||||
this.addSubType(SubType.CHIMERA);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
//Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
//Whenever you cast a noncreature spell, put an oil counter on Serum-Core Chimera.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.OIL.createInstance()),
|
||||
StaticFilters.FILTER_SPELL_A_NON_CREATURE, false));
|
||||
|
||||
//Remove three oil counters from Serum-Core Chimera: Draw a card. Then you may discard a nonland card. When you
|
||||
//discard a card this way, Serum-Core Chimera deals 3 damage to target creature or planeswalker. Activate only
|
||||
//as a sorcery.
|
||||
ActivateAsSorceryActivatedAbility activateAsSorceryActivatedAbility = new ActivateAsSorceryActivatedAbility(
|
||||
new DrawCardSourceControllerEffect(1).setText("Draw a card"),
|
||||
new RemoveCountersSourceCost(CounterType.OIL.createInstance(3)));
|
||||
ReflexiveTriggeredAbility reflexiveTriggeredAbility = new ReflexiveTriggeredAbility(
|
||||
new DamageTargetEffect(3), false
|
||||
);
|
||||
reflexiveTriggeredAbility.addTarget(new TargetCreatureOrPlaneswalker());
|
||||
activateAsSorceryActivatedAbility.addEffect(new DoWhenCostPaid(reflexiveTriggeredAbility,
|
||||
new DiscardCardCost(StaticFilters.FILTER_CARD_A_NON_LAND), "Discard nonland card?")
|
||||
.setText("Then you may discard a nonland card. When you discard a card this way, Serum-Core Chimera " +
|
||||
"deals 3 damage to target creature or planeswalker."));
|
||||
this.addAbility(activateAsSorceryActivatedAbility);
|
||||
}
|
||||
|
||||
private SerumCoreChimera(final SerumCoreChimera card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SerumCoreChimera copy() {
|
||||
return new SerumCoreChimera(this);
|
||||
}
|
||||
}
|
|
@ -194,6 +194,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Seachrome Coast", 258, Rarity.RARE, mage.cards.s.SeachromeCoast.class));
|
||||
cards.add(new SetCardInfo("Serum Snare", 68, Rarity.UNCOMMON, mage.cards.s.SerumSnare.class));
|
||||
cards.add(new SetCardInfo("Serum Sovereign", 405, Rarity.RARE, mage.cards.s.SerumSovereign.class));
|
||||
cards.add(new SetCardInfo("Serum-Core Chimera", 215, Rarity.UNCOMMON, mage.cards.s.SerumCoreChimera.class));
|
||||
cards.add(new SetCardInfo("Sheoldred's Edict", 108, Rarity.UNCOMMON, mage.cards.s.SheoldredsEdict.class));
|
||||
cards.add(new SetCardInfo("Sheoldred's Headcleaver", 109, Rarity.COMMON, mage.cards.s.SheoldredsHeadcleaver.class));
|
||||
cards.add(new SetCardInfo("Shrapnel Slinger", 148, Rarity.COMMON, mage.cards.s.ShrapnelSlinger.class));
|
||||
|
|
Loading…
Reference in a new issue