foul-magics/Mage.Sets/src/mage/cards/g/GrapeshotCatapult.java
2021-02-02 17:07:37 -05:00

53 lines
1.7 KiB
Java

package mage.cards.g;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.target.common.TargetCreaturePermanent;
/**
*
* @author anonymous
*/
public final class GrapeshotCatapult extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with flying");
static {
filter.add(new AbilityPredicate(FlyingAbility.class));
}
public GrapeshotCatapult(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}");
this.subtype.add(SubType.CONSTRUCT);
this.power = new MageInt(2);
this.toughness = new MageInt(3);
// {tap}: Grapeshot Catapult deals 1 damage to target creature with flying.
Ability activatedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
activatedAbility.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(activatedAbility);
}
private GrapeshotCatapult(final GrapeshotCatapult card) {
super(card);
}
@Override
public GrapeshotCatapult copy() {
return new GrapeshotCatapult(this);
}
}