@Override public AddCombatAndMainPhaseEffect copy() { return new AddCombatAndMainPhaseEffect(this); }
public RelentlessAssault(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{R}{R}"); // Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. this.getSpellAbility().addWatcher(new AttackedThisTurnWatcher()); this.getSpellAbility().addEffect(new UntapAllThatAttackedEffect()); this.getSpellAbility().addEffect(new AddCombatAndMainPhaseEffect()); }
public WavesOfAggression(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R/W}{R/W}"); // Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. this.getSpellAbility().addWatcher(new AttackedThisTurnWatcher()); this.getSpellAbility().addEffect(new UntapAllThatAttackedEffect()); this.getSpellAbility().addEffect(new AddCombatAndMainPhaseEffect()); // Retrace this.addAbility(new RetraceAbility(this)); }
public AggravatedAssault(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); // {3}{R}{R}: Untap all creatures you control. After this main phase, there is an additional combat phase followed by an additional main phase. Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), "Untap all creatures you control"), new ManaCostsImpl<>("{3}{R}{R}")); ability.addEffect(new AddCombatAndMainPhaseEffect()); this.addAbility(ability); }
public SeizeTheDay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R}"); // Untap target creature. After this main phase, there is an additional combat phase followed by an additional main phase. this.getSpellAbility().addEffect(new UntapTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new AddCombatAndMainPhaseEffect()); // Flashback {2}{R} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{2}{R}"), TimingRule.SORCERY)); }
public FuryOfTheHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{R}{R}"); // You may exile two red cards from your hand rather than pay Fury of the Horde's mana cost. this.addAbility(new AlternativeCostSourceAbility(new ExileFromHandCost(new TargetCardInHand(2, filter)))); // Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. this.getSpellAbility().addEffect(new UntapAllThatAttackedEffect()); this.getSpellAbility().addEffect(new AddCombatAndMainPhaseEffect()); this.getSpellAbility().addWatcher(new AttackedThisTurnWatcher()); }
public ResponseResurgence(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{R/W}{R/W}", "{3}{R}{W}", SpellAbilityType.SPLIT); // Response // Response deals 5 damage to target attacking or blocking creature. this.getLeftHalfCard().getSpellAbility().addEffect( new DamageTargetEffect(5) ); this.getLeftHalfCard().getSpellAbility().addTarget( new TargetAttackingOrBlockingCreature() ); // Resurgence // Creatures you control gain first strike and vigilance until end of turn. After this main phase, there is an additional combat phase followed by an additional main phase. this.getRightHalfCard().getSpellAbility().addEffect( new GainAbilityControlledEffect( FirstStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURE ).setText("Creatures you control gain first strike") ); this.getRightHalfCard().getSpellAbility().addEffect( new GainAbilityControlledEffect( VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURE ).setText("and vigilance until end of turn") ); this.getRightHalfCard().getSpellAbility().addEffect( new AddCombatAndMainPhaseEffect() ); }