[OTJ] Implement Vial-Smasher, Gleeful Grenadier

This commit is contained in:
theelk801 2024-03-27 08:35:22 -04:00
parent 1edbb9c68e
commit fd856d49eb
4 changed files with 88 additions and 2 deletions

View file

@ -167,11 +167,19 @@ public interface MageObject extends MageItem, Serializable, Copyable<MageObject>
void setZoneChangeCounter(int value, Game game);
default boolean isHistoric(Game game) {
return getCardType(game).contains(CardType.ARTIFACT)
|| getSuperType(game).contains(SuperType.LEGENDARY)
return isArtifact(game)
|| isLegendary(game)
|| hasSubtype(SubType.SAGA, game);
}
default boolean isOutlaw(Game game) {
return hasSubtype(SubType.ASSASSIN, game)
|| hasSubtype(SubType.MERCENARY, game)
|| hasSubtype(SubType.PIRATE, game)
|| hasSubtype(SubType.ROGUE, game)
|| hasSubtype(SubType.WARLOCK, game);
}
default boolean isCreature() {
return isCreature(null);
}

View file

@ -0,0 +1,22 @@
package mage.filter.predicate.mageobject;
import mage.MageObject;
import mage.filter.predicate.Predicate;
import mage.game.Game;
/**
* @author TheElk801
*/
public enum OutlawPredicate implements Predicate<MageObject> {
instance;
@Override
public boolean apply(MageObject input, Game game) {
return input.isOutlaw(game);
}
@Override
public String toString() {
return "Outlaw";
}
}