[filters] Replaced PhasedIn Condition with Predicate

This commit is contained in:
North 2012-07-14 15:40:36 +03:00
parent fba4e662d0
commit c51dc081c6
2 changed files with 14 additions and 9 deletions

View file

@ -49,8 +49,6 @@ public class FilterPermanent extends FilterObject<Permanent> {
protected boolean flipped; protected boolean flipped;
protected boolean useFaceup; protected boolean useFaceup;
protected boolean faceup; protected boolean faceup;
protected boolean usePhased;
protected boolean phasedIn;
protected TargetController controller = TargetController.ANY; protected TargetController controller = TargetController.ANY;
protected TargetController owner = TargetController.ANY; protected TargetController owner = TargetController.ANY;
protected boolean another; protected boolean another;
@ -69,8 +67,6 @@ public class FilterPermanent extends FilterObject<Permanent> {
this.flipped = filter.flipped; this.flipped = filter.flipped;
this.useFaceup = filter.useFaceup; this.useFaceup = filter.useFaceup;
this.faceup = filter.faceup; this.faceup = filter.faceup;
this.usePhased = filter.usePhased;
this.phasedIn = filter.phasedIn;
this.controller = filter.controller; this.controller = filter.controller;
this.owner = filter.owner; this.owner = filter.owner;
this.another = filter.another; this.another = filter.another;
@ -97,9 +93,6 @@ public class FilterPermanent extends FilterObject<Permanent> {
if (useFaceup && permanent.isFaceUp() != faceup) if (useFaceup && permanent.isFaceUp() != faceup)
return notFilter; return notFilter;
if (usePhased && permanent.isPhasedIn() != phasedIn)
return notFilter;
return !notFilter; return !notFilter;
} }

View file

@ -28,6 +28,7 @@
package mage.filter.common; package mage.filter.common;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TappedPredicate; import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.Game; import mage.game.Game;
@ -47,8 +48,7 @@ public class FilterCreatureForCombat extends FilterCreaturePermanent {
super(name); super(name);
this.attacking = false; this.attacking = false;
this.useAttacking = true; this.useAttacking = true;
this.phasedIn = true; this.add(new PhasedInPredicate());
this.usePhased = true;
this.add(Predicates.not(new TappedPredicate())); this.add(Predicates.not(new TappedPredicate()));
} }
@ -69,4 +69,16 @@ public class FilterCreatureForCombat extends FilterCreaturePermanent {
return new FilterCreatureForCombat(this); return new FilterCreatureForCombat(this);
} }
private static final class PhasedInPredicate implements Predicate<Permanent>{
@Override
public boolean apply(Permanent input, Game game) {
return input.isPhasedIn();
}
@Override
public String toString() {
return "PhasedIn";
}
}
} }