package magic.model.target;
import magic.ai.ArtificialScoringSystem;
import magic.model.MagicCard;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
public class MagicGraveyardTargetPicker extends MagicTargetPicker<MagicCard> {
private final boolean free;
private int order;
public static MagicGraveyardTargetPicker ExileOwn = new MagicGraveyardTargetPicker(true, -1);
public static MagicGraveyardTargetPicker ExileOpp = new MagicGraveyardTargetPicker(true, 1);
public static MagicGraveyardTargetPicker ReturnToHand = new MagicGraveyardTargetPicker(false, 1);
public static MagicGraveyardTargetPicker PutOntoBattlefield = new MagicGraveyardTargetPicker(true, 1);
private MagicGraveyardTargetPicker(final boolean aFree, final int aOrder) {
free = aFree;
order = aOrder;
}
@Override
protected int getTargetScore(final MagicGame game,final MagicPlayer player,final MagicCard target) {
return order *
(free ? ArtificialScoringSystem.getFreeCardScore(target):
ArtificialScoringSystem.getCardScore(target));
}
}