package magic.model.target; import magic.model.MagicAbility; import magic.model.MagicGame; import magic.model.MagicPermanent; import magic.model.MagicPlayer; public class MagicLoseFlyingTargetPicker extends MagicTargetPicker<MagicPermanent> { private static final MagicLoseFlyingTargetPicker INSTANCE = new MagicLoseFlyingTargetPicker(); private MagicLoseFlyingTargetPicker() {} public static MagicLoseFlyingTargetPicker create() { return INSTANCE; } @Override protected int getTargetScore(final MagicGame game, final MagicPlayer player, final MagicPermanent permanent) { if (permanent.hasAbility(MagicAbility.CannotAttackOrBlock)) { return 0; } final int power = permanent.getPower(); if (permanent.hasAbility(MagicAbility.Flying)) { return 100 + power; } return power; } }