forked from External/mage
* [FIN] Implement Summon: Brynhildr * cleanup of common classes and constructors --------- Co-authored-by: xenohedron <12538125+xenohedron@users.noreply.github.com>
54 lines
1.9 KiB
Java
54 lines
1.9 KiB
Java
package mage.cards.c;
|
|
|
|
import mage.abilities.common.delayed.CastNextSpellDelayedTriggeredAbility;
|
|
import mage.abilities.effects.common.CopyTargetStackObjectEffect;
|
|
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
|
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect;
|
|
import mage.abilities.keyword.ConvokeAbility;
|
|
import mage.cards.CardImpl;
|
|
import mage.cards.CardSetInfo;
|
|
import mage.constants.CardType;
|
|
import mage.constants.Duration;
|
|
import mage.filter.FilterCard;
|
|
import mage.filter.StaticFilters;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author TheElk801
|
|
*/
|
|
public final class CompleteTheCircuit extends CardImpl {
|
|
|
|
private static final FilterCard filter = new FilterCard("sorcery spells");
|
|
|
|
static {
|
|
filter.add(CardType.SORCERY.getPredicate());
|
|
}
|
|
|
|
public CompleteTheCircuit(UUID ownerId, CardSetInfo setInfo) {
|
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{5}{U}");
|
|
|
|
// Convoke
|
|
this.addAbility(new ConvokeAbility());
|
|
|
|
// You may cast sorcery spells this turn as though they had flash.
|
|
this.getSpellAbility().addEffect(new CastAsThoughItHadFlashAllEffect(Duration.EndOfTurn, filter));
|
|
|
|
// When you next cast an instant or sorcery spell this turn, copy that spell twice. You may choose new targets for the copies.
|
|
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(
|
|
new CastNextSpellDelayedTriggeredAbility(
|
|
new CopyTargetStackObjectEffect(false, true, true, 2, null),
|
|
StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, true
|
|
)
|
|
).concatBy("<br>"));
|
|
}
|
|
|
|
private CompleteTheCircuit(final CompleteTheCircuit card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public CompleteTheCircuit copy() {
|
|
return new CompleteTheCircuit(this);
|
|
}
|
|
}
|