package magic.model.target;
import magic.model.MagicAbility;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
public class MagicDestroyTargetPicker extends MagicTargetPicker<MagicPermanent> {
private final boolean noRegeneration;
public static MagicDestroyTargetPicker Destroy = new MagicDestroyTargetPicker(false);
public static MagicDestroyTargetPicker DestroyNoRegen = new MagicDestroyTargetPicker(true);
private MagicDestroyTargetPicker(final boolean aNoRegeneration) {
noRegeneration = aNoRegeneration;
}
@Override
protected int getTargetScore(final MagicGame game,final MagicPlayer player,final MagicPermanent permanent) {
if (permanent.hasAbility(MagicAbility.Indestructible)) {
return 0;
}
if (permanent.isRegenerated()&&!noRegeneration) {
return 0;
}
final int score=permanent.getScore();
return permanent.getController()==player?-score:score;
}
}