foul-magics/Mage.Sets/src/mage/cards/c/CompleteTheCircuit.java
Evan Kranzler 652ca6c9e1
[FIN] Implement Summon: Brynhildr (#13699)
* [FIN] Implement Summon: Brynhildr

* cleanup of common classes and constructors

---------

Co-authored-by: xenohedron <12538125+xenohedron@users.noreply.github.com>
2025-09-12 18:28:09 -04:00

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);
}
}