diff --git a/Mage.Sets/src/mage/cards/l/LilaHospitalityHostess.java b/Mage.Sets/src/mage/cards/l/LilaHospitalityHostess.java new file mode 100644 index 00000000000..5187e756185 --- /dev/null +++ b/Mage.Sets/src/mage/cards/l/LilaHospitalityHostess.java @@ -0,0 +1,71 @@ +package mage.cards.l; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.LookAtTopCardOfLibraryAnyTimeEffect; +import mage.abilities.effects.common.continuous.PlayTheTopCardEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicate; +import mage.game.Game; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class LilaHospitalityHostess extends CardImpl { + + private static final FilterCard filter = new FilterCard("cast common spells"); + private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent(SubType.GUEST, "Guests"); + + static { + filter.add(LilaHospitalityHostessPredicate.instance); + } + + public LilaHospitalityHostess(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.EMPLOYEE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // You may look at the top card of your library any time. + this.addAbility(new SimpleStaticAbility(new LookAtTopCardOfLibraryAnyTimeEffect())); + + // You may cast common spells from the top of your library. + this.addAbility(new SimpleStaticAbility(new PlayTheTopCardEffect( + TargetController.YOU, filter, false + ))); + + // Guests you control get +1/+1. + this.addAbility(new SimpleStaticAbility(new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, filter2 + ))); + } + + private LilaHospitalityHostess(final LilaHospitalityHostess card) { + super(card); + } + + @Override + public LilaHospitalityHostess copy() { + return new LilaHospitalityHostess(this); + } +} + +enum LilaHospitalityHostessPredicate implements Predicate { + instance; + + @Override + public boolean apply(Card input, Game game) { + return input.getRarity() == Rarity.COMMON; + } +} diff --git a/Mage.Sets/src/mage/sets/Unfinity.java b/Mage.Sets/src/mage/sets/Unfinity.java index d5ddeda69da..2d776817919 100644 --- a/Mage.Sets/src/mage/sets/Unfinity.java +++ b/Mage.Sets/src/mage/sets/Unfinity.java @@ -27,6 +27,7 @@ public final class Unfinity extends ExpansionSet { cards.add(new SetCardInfo("Godless Shrine", 282, Rarity.RARE, mage.cards.g.GodlessShrine.class)); cards.add(new SetCardInfo("Hallowed Fountain", 277, Rarity.RARE, mage.cards.h.HallowedFountain.class)); cards.add(new SetCardInfo("Island", 236, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Lila, Hospitality Hostess", 170, Rarity.MYTHIC, mage.cards.l.LilaHospitalityHostess.class)); cards.add(new SetCardInfo("Mountain", 238, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Overgrown Tomb", 284, Rarity.RARE, mage.cards.o.OvergrownTomb.class)); cards.add(new SetCardInfo("Plains", 235, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index a78f7c71e8c..634b7564c71 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -146,6 +146,7 @@ public enum SubType { ELF("Elf", SubTypeSet.CreatureType), ELVES("Elves", SubTypeSet.CreatureType, true), // Un-sets ELK("Elk", SubTypeSet.CreatureType), + EMPLOYEE("Employee", SubTypeSet.CreatureType), EYE("Eye", SubTypeSet.CreatureType), EWOK("Ewok", SubTypeSet.CreatureType, true), // Star Wars EXPANSION_SYMBOL("Expansion-Symbol", SubTypeSet.CreatureType, true), // Unhinged