Re: Card Contributions
Continuing on my quest to increase the % of implemented cards from Alliances, this time I focused on Viscerid Drone. I'm have a problem with getting it to accept sacrificing a Snow-Covered Swamp. I saw that recently you guys expanded the code to recognize card names in some cases, so I thought that might do the trick, put it didn't work. Is there currently a way to get it to accept sacrificing a Snow-Covered Swamp?
- Code: Select all
def choice = new MagicTargetChoice("a Swamp to sacrifice");
def choice2 = new MagicTargetChoice("a card named Snow-Covered Swamp to sacrifice");
def choice3 = MagicTargetChoice.Negative("target nonartifact creature");
[
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Removal),
"Nonartifact"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicTapEvent(source),
new MagicSacrificePermanentEvent(source,MagicTargetChoice.SACRIFICE_CREATURE),
new MagicSacrificePermanentEvent(source,choice)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
choice3,
this,
"Destroy target nonartifact creature\$. It can't be regenerated."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
game.doAction(MagicChangeStateAction.Set(it,MagicPermanentState.CannotBeRegenerated));
game.doAction(new MagicDestroyAction(it));
});
}
},
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Removal),
"Any"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicTapEvent(source),
new MagicSacrificePermanentEvent(source,MagicTargetChoice.SACRIFICE_CREATURE),
new MagicSacrificePermanentEvent(source,choice2)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.TARGET_CREATURE,
this,
"Destroy target creature\$. It can't be regenerated."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
game.doAction(MagicChangeStateAction.Set(it,MagicPermanentState.CannotBeRegenerated));
game.doAction(new MagicDestroyAction(it));
});
}
}
]