forked from External/mage
54 lines
2.2 KiB
Java
54 lines
2.2 KiB
Java
package mage.cards.s;
|
|
|
|
import mage.abilities.Mode;
|
|
import mage.abilities.common.CastOnlyDuringPhaseStepSourceAbility;
|
|
import mage.abilities.condition.common.MyTurnCondition;
|
|
import mage.abilities.effects.common.AdditionalCombatPhaseEffect;
|
|
import mage.abilities.effects.common.UntapAllControllerEffect;
|
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
|
import mage.abilities.keyword.DoubleStrikeAbility;
|
|
import mage.abilities.keyword.EntwineAbility;
|
|
import mage.cards.CardImpl;
|
|
import mage.cards.CardSetInfo;
|
|
import mage.constants.CardType;
|
|
import mage.constants.Duration;
|
|
import mage.constants.TurnPhase;
|
|
import mage.filter.StaticFilters;
|
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author emerald000
|
|
*/
|
|
public final class SavageBeating extends CardImpl {
|
|
|
|
public SavageBeating(UUID ownerId, CardSetInfo setInfo) {
|
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}{R}");
|
|
|
|
// Cast Savage Beating only during your turn and only during combat.
|
|
this.addAbility(new CastOnlyDuringPhaseStepSourceAbility(TurnPhase.COMBAT, null, MyTurnCondition.instance,
|
|
"Cast this spell only during your turn and only during combat"));
|
|
|
|
// Choose one - Creatures you control gain double strike until end of turn;
|
|
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false));
|
|
|
|
// or untap all creatures you control and after this phase, there is an additional combat phase.
|
|
Mode mode = new Mode();
|
|
mode.addEffect(new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), "untap all creatures you control"));
|
|
mode.addEffect(new AdditionalCombatPhaseEffect("and after this phase, there is an additional combat phase"));
|
|
this.getSpellAbility().getModes().addMode(mode);
|
|
|
|
// Entwine {1}{R}
|
|
this.addAbility(new EntwineAbility("{1}{R}"));
|
|
}
|
|
|
|
public SavageBeating(final SavageBeating card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public SavageBeating copy() {
|
|
return new SavageBeating(this);
|
|
}
|
|
}
|