// * Target player loses X life.
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(xValue));
this.getSpellAbility().addTarget(new TargetPlayer());
// * Return target creature card with converted mana cost X or less from your graveyard to the battlefield.
Mode mode = new Mode();
mode.getEffects().add(new ReturnFromGraveyardToBattlefieldTargetEffect());
mode.getTargets().add(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard")));
this.getSpellAbility().addMode(mode);
// * Target creature gets -X/-X until end of turn.
mode = new Mode();
mode.getEffects().add(new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn));
mode.getTargets().add(new TargetCreaturePermanent());
this.getSpellAbility().addMode(mode);
// * Up to X target creatures gain fear until end of turn.
mode = new Mode();
Effect effect = new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn);
effect.setText("Up to X target creatures gain fear until end of turn");
mode.getEffects().add(effect);
mode.getTargets().add(new TargetCreaturePermanent(0,1));
this.getSpellAbility().addMode(mode);
}