package magic.model.target; import magic.model.MagicAbility; import magic.model.MagicGame; import magic.model.MagicPermanent; import magic.model.MagicPlayer; import magic.model.MagicPowerToughness; /** Creatures from both players. */ public class MagicBecomeTargetPicker extends MagicTargetPicker<MagicPermanent> { private final int power; private final int toughness; private final boolean flying; public MagicBecomeTargetPicker(final int power,final int toughness,final boolean flying) { this.power=power; this.toughness=toughness; this.flying=flying; } @Override protected int getTargetScore(final MagicGame game,final MagicPlayer player,final MagicPermanent permanent) { final MagicPowerToughness pt=permanent.getPowerToughness(); int score=(pt.power()-power)*2+(pt.toughness()-toughness); if (flying&&!permanent.hasAbility(MagicAbility.Flying)) { score-=5; } return permanent.getController()==player?-score:score; } }