fixed spectacle spells not copying effects and targets

This commit is contained in:
Evan Kranzler 2019-01-12 11:50:08 -05:00
parent 5d65be47f2
commit 5a91494be3
5 changed files with 17 additions and 17 deletions

View file

@ -22,12 +22,12 @@ public final class DeadRevels extends CardImpl {
public DeadRevels(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
// Spectacle {1}{B}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{1}{B}")));
// Return up to two target creature cards from your graveyard to your hand.
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, filter));
// Spectacle {1}{B}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{1}{B}")));
}
private DeadRevels(final DeadRevels card) {

View file

@ -20,14 +20,14 @@ public final class DrillBit extends CardImpl {
public DrillBit(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}");
// Spectacle {B}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{B}")));
// Target player reveals their hand. You choose a nonland card from it. That player discards that card.
this.getSpellAbility().addEffect(new DiscardCardYouChooseTargetEffect(
StaticFilters.FILTER_CARD_NON_LAND, TargetController.ANY
));
this.getSpellAbility().addTarget(new TargetPlayer());
// Spectacle {B}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{B}")));
}
private DrillBit(final DrillBit card) {

View file

@ -26,11 +26,11 @@ public final class LightUpTheStage extends CardImpl {
public LightUpTheStage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}");
// Spectacle {R}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{R}")));
// Exile the top two cards of your library. Until the end of your next turn, you may play those cards.
this.getSpellAbility().addEffect(new LightUpTheStageEffect());
// Spectacle {R}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{R}")));
}
public LightUpTheStage(final LightUpTheStage card) {
@ -45,12 +45,12 @@ public final class LightUpTheStage extends CardImpl {
class LightUpTheStageEffect extends OneShotEffect {
public LightUpTheStageEffect() {
LightUpTheStageEffect() {
super(Outcome.PlayForFree);
this.staticText = "Exile the top two cards of your library. Until the end of your next turn, you may play those cards";
}
public LightUpTheStageEffect(final LightUpTheStageEffect effect) {
private LightUpTheStageEffect(final LightUpTheStageEffect effect) {
super(effect);
}
@ -83,12 +83,12 @@ class LightUpTheStageMayPlayEffect extends AsThoughEffectImpl {
private int castOnTurn = 0;
public LightUpTheStageMayPlayEffect() {
LightUpTheStageMayPlayEffect() {
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.Custom, Outcome.Benefit);
this.staticText = "Until the end of your next turn, you may play that card.";
}
public LightUpTheStageMayPlayEffect(final LightUpTheStageMayPlayEffect effect) {
private LightUpTheStageMayPlayEffect(final LightUpTheStageMayPlayEffect effect) {
super(effect);
castOnTurn = effect.castOnTurn;
}

View file

@ -18,12 +18,12 @@ public final class SkewerTheCritics extends CardImpl {
public SkewerTheCritics(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}");
// Spectacle {R}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{R}")));
// Skewer the Critics deals 3 damage to any target.
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Spectacle {R}
this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{R}")));
}
private SkewerTheCritics(final SkewerTheCritics card) {

View file

@ -343,4 +343,4 @@ public final class GuildsOfRavnica extends ExpansionSet {
}
return specialCards;
}
}
}