forked from External/mage
[FDN] Implement Ravenous Amulet
This commit is contained in:
parent
4afa3e703b
commit
28cbb41c14
3 changed files with 59 additions and 0 deletions
57
Mage.Sets/src/mage/cards/r/RavenousAmulet.java
Normal file
57
Mage.Sets/src/mage/cards/r/RavenousAmulet.java
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
package mage.cards.r;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.CountersSourceCount;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
|
||||
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.StaticFilters;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class RavenousAmulet extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new CountersSourceCount(CounterType.SPIRIT);
|
||||
|
||||
public RavenousAmulet(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
|
||||
|
||||
// {1}, {T}, Sacrifice a creature: Draw a card and put a spirit counter on this artifact. Activate only as a sorcery.
|
||||
Ability ability = new ActivateAsSorceryActivatedAbility(
|
||||
new DrawCardSourceControllerEffect(1), new GenericManaCost(1)
|
||||
);
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_A_CREATURE));
|
||||
ability.addEffect(new AddCountersSourceEffect(CounterType.SPIRIT.createInstance()).concatBy("and"));
|
||||
this.addAbility(ability);
|
||||
|
||||
// {4}, {T}, Sacrifice this artifact: Each opponent loses life equal to the number of spirit counters on this artifact.
|
||||
ability = new SimpleActivatedAbility(new LoseLifeOpponentsEffect(xValue), new GenericManaCost(4));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private RavenousAmulet(final RavenousAmulet card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RavenousAmulet copy() {
|
||||
return new RavenousAmulet(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -383,6 +383,7 @@ public final class Foundations extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Ramos, Dragon Engine", 678, Rarity.MYTHIC, mage.cards.r.RamosDragonEngine.class));
|
||||
cards.add(new SetCardInfo("Rampaging Baloths", 645, Rarity.RARE, mage.cards.r.RampagingBaloths.class));
|
||||
cards.add(new SetCardInfo("Rapacious Dragon", 544, Rarity.COMMON, mage.cards.r.RapaciousDragon.class));
|
||||
cards.add(new SetCardInfo("Ravenous Amulet", 131, Rarity.UNCOMMON, mage.cards.r.RavenousAmulet.class));
|
||||
cards.add(new SetCardInfo("Ravenous Giant", 630, Rarity.UNCOMMON, mage.cards.r.RavenousGiant.class));
|
||||
cards.add(new SetCardInfo("Reassembling Skeleton", 182, Rarity.UNCOMMON, mage.cards.r.ReassemblingSkeleton.class));
|
||||
cards.add(new SetCardInfo("Reclamation Sage", 231, Rarity.UNCOMMON, mage.cards.r.ReclamationSage.class));
|
||||
|
|
|
|||
|
|
@ -205,6 +205,7 @@ public enum CounterType {
|
|||
SLUMBER("slumber"),
|
||||
SOOT("soot"),
|
||||
SOUL("soul"),
|
||||
SPIRIT("spirit"),
|
||||
SPITE("spite"),
|
||||
SPORE("spore"),
|
||||
STASH("stash"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue