forked from External/mage
63 lines
2.3 KiB
Java
63 lines
2.3 KiB
Java
package mage.cards.c;
|
|
|
|
import mage.abilities.Mode;
|
|
import mage.abilities.dynamicvalue.DynamicValue;
|
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
|
import mage.abilities.effects.common.DamageTargetEffect;
|
|
import mage.abilities.effects.common.DestroyTargetEffect;
|
|
import mage.abilities.hint.Hint;
|
|
import mage.abilities.hint.ValueHint;
|
|
import mage.cards.CardImpl;
|
|
import mage.cards.CardSetInfo;
|
|
import mage.constants.CardType;
|
|
import mage.constants.SubType;
|
|
import mage.filter.FilterPermanent;
|
|
import mage.filter.common.FilterControlledPermanent;
|
|
import mage.filter.predicate.Predicates;
|
|
import mage.target.common.TargetArtifactPermanent;
|
|
import mage.target.common.TargetCreaturePermanent;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author TheElk801
|
|
*/
|
|
public final class CollisionCourse extends CardImpl {
|
|
|
|
private static final FilterPermanent filter
|
|
= new FilterControlledPermanent("permanents you control that are creatures and/or Vehicles");
|
|
|
|
static {
|
|
filter.add(Predicates.or(
|
|
CardType.CREATURE.getPredicate(),
|
|
SubType.VEHICLE.getPredicate()
|
|
));
|
|
}
|
|
|
|
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter, null);
|
|
private static final Hint hint = new ValueHint("Creatures and Vehicles you control", xValue);
|
|
|
|
public CollisionCourse(UUID ownerId, CardSetInfo setInfo) {
|
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}");
|
|
|
|
// Choose one --
|
|
// * Collision Course deals X damage to target creature, where X is the number of permanents you control that are creatures and/or Vehicles.
|
|
this.getSpellAbility().addEffect(new DamageTargetEffect(xValue)
|
|
.setText("{this} deals X damage to target creature, where X is " +
|
|
"the number of permanents you control that are creatures and/or Vehicles"));
|
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
|
this.getSpellAbility().addHint(hint);
|
|
|
|
// * Destroy target artifact.
|
|
this.getSpellAbility().addMode(new Mode(new DestroyTargetEffect()).addTarget(new TargetArtifactPermanent()));
|
|
}
|
|
|
|
private CollisionCourse(final CollisionCourse card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public CollisionCourse copy() {
|
|
return new CollisionCourse(this);
|
|
}
|
|
}
|