[CLB] Implemented Street Urchin

This commit is contained in:
Evan Kranzler 2022-05-24 21:39:35 -04:00
parent b6bf6aaf49
commit 185d645ba7
6 changed files with 85 additions and 55 deletions

View file

@ -393,6 +393,13 @@ public final class StaticFilters {
FILTER_CONTROLLED_PERMANENT_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
public static final FilterControlledPermanent FILTER_CONTROLLED_ARTIFACT_OR_OTHER_CREATURE = new FilterControlledPermanent("another creature or an artifact");
static {
FILTER_CONTROLLED_ARTIFACT_OR_OTHER_CREATURE.add(AnotherCreatureOrAnArtifactPredicate.instance);
FILTER_CONTROLLED_ARTIFACT_OR_OTHER_CREATURE.setLockedFilter(true);
}
public static final FilterControlledPermanent FILTER_CONTROLLED_PERMANENT_ENCHANTMENT = new FilterControlledEnchantmentPermanent();
static {

View file

@ -0,0 +1,22 @@
package mage.filter.predicate.mageobject;
import mage.MageObject;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
/**
* @author TheElk801
*/
public enum AnotherCreatureOrAnArtifactPredicate implements ObjectSourcePlayerPredicate<MageObject> {
instance;
@Override
public boolean apply(ObjectSourcePlayer<MageObject> input, Game game) {
MageObject obj = input.getObject();
if (obj.getId().equals(input.getSourceId())) {
return obj.isArtifact(game);
}
return obj.isCreature(game) || obj.isArtifact(game);
}
}