- Added Limited Resources and Aether Tide.

This commit is contained in:
Jeff 2018-12-07 16:19:26 -06:00
parent 424aba6201
commit 605abc1624
6 changed files with 408 additions and 20 deletions

View file

@ -0,0 +1,48 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package mage.filter.predicate.other;
import java.util.UUID;
import mage.MageObject;
import mage.abilities.Mode;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.players.Player;
import mage.target.Target;
/**
*
* @author jeffwadsworth
*/
public class TargetsOnlyOnePlayerPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public TargetsOnlyOnePlayerPredicate() {
}
@Override
public boolean apply(ObjectSourcePlayer<MageObject> input, Game game) {
StackObject object = game.getStack().getStackObject(input.getObject().getId());
if (object != null) {
for (UUID modeId : object.getStackAbility().getModes().getSelectedModes()) {
Mode mode = object.getStackAbility().getModes().get(modeId);
for (Target target : mode.getTargets()) {
if (target.getTargets().size() == 1) { // only one player targeted
Player player = game.getPlayer(target.getFirstTarget());
return player != null;
}
}
}
}
return false;
}
@Override
public String toString() {
return "that targets only one player";
}
}