forked from External/mage
76 lines
2.1 KiB
Java
76 lines
2.1 KiB
Java
|
|
package mage.cards.s;
|
|
|
|
import java.util.UUID;
|
|
import mage.abilities.Ability;
|
|
import mage.abilities.effects.OneShotEffect;
|
|
import mage.abilities.effects.keyword.ScryEffect;
|
|
import mage.cards.CardImpl;
|
|
import mage.cards.CardSetInfo;
|
|
import mage.constants.CardType;
|
|
import mage.constants.Outcome;
|
|
import mage.constants.TargetController;
|
|
import mage.filter.common.FilterCreaturePermanent;
|
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
|
import mage.game.Game;
|
|
import mage.game.permanent.Permanent;
|
|
|
|
/**
|
|
*
|
|
* @author LevelX2
|
|
*/
|
|
public final class ScouringSands extends CardImpl {
|
|
|
|
public ScouringSands(UUID ownerId, CardSetInfo setInfo) {
|
|
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}");
|
|
|
|
|
|
// Scouring Sands deals 1 damage to each creature your opponents control. Scry 1.
|
|
this.getSpellAbility().addEffect(new ScouringSandsDamageEffect());
|
|
this.getSpellAbility().addEffect(new ScryEffect(1));
|
|
|
|
}
|
|
|
|
public ScouringSands(final ScouringSands card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public ScouringSands copy() {
|
|
return new ScouringSands(this);
|
|
}
|
|
}
|
|
|
|
class ScouringSandsDamageEffect extends OneShotEffect {
|
|
|
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature your opponents control");
|
|
|
|
static {
|
|
filter.add(new ControllerPredicate(TargetController.OPPONENT));
|
|
}
|
|
|
|
public ScouringSandsDamageEffect() {
|
|
super(Outcome.GainLife);
|
|
staticText = "{this} deals 1 damage to each creature your opponents control";
|
|
}
|
|
|
|
public ScouringSandsDamageEffect(ScouringSandsDamageEffect effect) {
|
|
super(effect);
|
|
}
|
|
|
|
@Override
|
|
public boolean apply(Game game, Ability source) {
|
|
for (Permanent creature : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
|
if (creature != null) {
|
|
creature.damage(1, source.getSourceId(), game, false, false);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public ScouringSandsDamageEffect copy() {
|
|
return new ScouringSandsDamageEffect(this);
|
|
}
|
|
|
|
}
|