@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
if (controller.chooseUse(outcome, "Destroy all lands? (otherwise all creatures are destroyed)", game)) {
for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterLandPermanent(), controller.getId(), source.getSourceId(), game)) {
permanent.destroy(source.getSourceId(), game, permanent.getCardType().contains(CardType.CREATURE));
}
} else {
for (Permanent permanent: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), controller.getId(), source.getSourceId(), game)) {
permanent.destroy(source.getSourceId(), game, true);