Implemented Firemind's Research

This commit is contained in:
Evan Kranzler 2018-09-02 23:45:47 -04:00
parent 915cc38e11
commit 20797505ef
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.f;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.costs.common.RemoveCountersSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.counters.CounterType;
import mage.filter.common.FilterInstantOrSorcerySpell;
import mage.target.common.TargetAnyTarget;
/**
*
* @author TheElk801
*/
public final class FiremindsResearch extends CardImpl {
public FiremindsResearch(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{R}");
// Whenever you cast an instant or sorcery spell, put a charge counter on Firemind's Research.
this.addAbility(new SpellCastControllerTriggeredAbility(
new AddCountersSourceEffect(
CounterType.CHARGE.createInstance()
), new FilterInstantOrSorcerySpell(), false
));
// {1}{U}, Remove two charge counters from Firemind's Research: Draw a card.
Ability ability = new SimpleActivatedAbility(
new DrawCardSourceControllerEffect(1),
new ManaCostsImpl("{1}{U}")
);
ability.addCost(new RemoveCountersSourceCost(
CounterType.CHARGE.createInstance(2)
));
this.addAbility(ability);
// {1}{R}, Remove five charge counters from Firemind's Research: It deals 5 damage to any target.
ability = new SimpleActivatedAbility(
new DamageTargetEffect(5, "it"),
new ManaCostsImpl("{1}{R}")
);
ability.addCost(new RemoveCountersSourceCost(
CounterType.CHARGE.createInstance(5)
));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
public FiremindsResearch(final FiremindsResearch card) {
super(card);
}
@Override
public FiremindsResearch copy() {
return new FiremindsResearch(this);
}
}

View file

@ -24,6 +24,7 @@ public final class GuildsOfRavnica extends ExpansionSet {
cards.add(new SetCardInfo("Boros Challenger", 156, Rarity.UNCOMMON, mage.cards.b.BorosChallenger.class));
cards.add(new SetCardInfo("Emmara, Soul of the Accord", 168, Rarity.RARE, mage.cards.e.EmmaraSoulOfTheAccord.class));
cards.add(new SetCardInfo("Firemind's Research", 171, Rarity.RARE, mage.cards.f.FiremindsResearch.class));
cards.add(new SetCardInfo("Impervious Greatwurm", 273, Rarity.MYTHIC, mage.cards.i.ImperviousGreatwurm.class));
cards.add(new SetCardInfo("Narcomoeba", 47, Rarity.RARE, mage.cards.n.Narcomoeba.class));
cards.add(new SetCardInfo("Necrotic Wound", 79, Rarity.UNCOMMON, mage.cards.n.NecroticWound.class));