diff --git a/Mage.Sets/src/mage/cards/h/HiveOfTheEyeTyrant.java b/Mage.Sets/src/mage/cards/h/HiveOfTheEyeTyrant.java new file mode 100644 index 00000000000..52dcbca5922 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HiveOfTheEyeTyrant.java @@ -0,0 +1,78 @@ +package mage.cards.h; + +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.effects.common.TapSourceEffect; +import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; +import mage.abilities.keyword.MenaceAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.StaticFilters; +import mage.filter.predicate.card.DefendingPlayerOwnsCardPredicate; +import mage.game.permanent.token.custom.CreatureToken; +import mage.target.common.TargetCardInGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HiveOfTheEyeTyrant extends CardImpl { + + private static final Condition condition = new PermanentsOnTheBattlefieldCondition( + StaticFilters.FILTER_LAND, ComparisonType.MORE_THAN, 1 + ); + private static final FilterCard filter = new FilterCard("card from defending player's graveyard"); + + static { + filter.add(DefendingPlayerOwnsCardPredicate.instance); + } + + public HiveOfTheEyeTyrant(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + // If you control two or more other lands, Hive of the Eye Tyrant enters the battlefield tapped. + this.addAbility(new EntersBattlefieldAbility( + new TapSourceEffect(), condition, "If you control two or more other lands, " + + "{this} enters the battlefield tapped.", "" + )); + + // {T}: Add {B}. + this.addAbility(new BlackManaAbility()); + + // {3}{B}: Until end of turn, Hive of the Eye Tyrant becomes a 3/3 black Beholder creature with menace and "Whenever this creature attacks, exile target card from defending player's graveyard." It's still a land. + Ability ability = new AttacksTriggeredAbility( + new ExileTargetEffect(), false, + "Whenever this creature attacks, exile target card from defending player's graveyard." + ); + ability.addTarget(new TargetCardInGraveyard(filter)); + this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect( + new CreatureToken( + 3, 3, "3/3 black Beholder creature with menace and " + + "\"Whenever this creature attacks, exile target card from defending player's graveyard.\"" + ).withSubType(SubType.BEHOLDER).withColor("B").withAbility(new MenaceAbility()).withAbility(ability), + "land", Duration.EndOfTurn + ), new ManaCostsImpl<>("{3}{B}"))); + } + + private HiveOfTheEyeTyrant(final HiveOfTheEyeTyrant card) { + super(card); + } + + @Override + public HiveOfTheEyeTyrant copy() { + return new HiveOfTheEyeTyrant(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java index 3726e4303f8..c81957e615b 100644 --- a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java +++ b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java @@ -34,6 +34,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet { cards.add(new SetCardInfo("Flumph", 15, Rarity.RARE, mage.cards.f.Flumph.class)); cards.add(new SetCardInfo("Forest", 278, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Gloom Stalker", 16, Rarity.COMMON, mage.cards.g.GloomStalker.class)); + cards.add(new SetCardInfo("Hive of the Eye Tyrant", 258, Rarity.RARE, mage.cards.h.HiveOfTheEyeTyrant.class)); cards.add(new SetCardInfo("Island", 266, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Lolth, Spider Queen", 112, Rarity.MYTHIC, mage.cards.l.LolthSpiderQueen.class)); cards.add(new SetCardInfo("Mountain", 274, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS)); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index 39c1ee75a7b..a1cab3d3910 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -78,6 +78,7 @@ public enum SubType { BEAR("Bear", SubTypeSet.CreatureType), BEAST("Beast", SubTypeSet.CreatureType), BEEBLE("Beeble", SubTypeSet.CreatureType), + BEHOLDER("Beholder", SubTypeSet.CreatureType), BERSERKER("Berserker", SubTypeSet.CreatureType), BIRD("Bird", SubTypeSet.CreatureType), BITH("Bith", SubTypeSet.CreatureType, true), // Star Wars diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index a6444384ca3..07bf99fc652 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -41336,6 +41336,7 @@ Prosperous Innkeeper|Adventures in the Forgotten Realms|200|U|{1}{G}|Creature - Bruenor Battlehammer|Adventures in the Forgotten Realms|219|U|{2}{R}{W}|Legendary Creature - Dwarf Warrior|5|3|Each creature you control gets +2/+0 for each Equipment attached to it.$You may pay {0} rather than pay the equip cost of the first equip ability you activate each turn.| Drizzt Do'Urden|Adventures in the Forgotten Realms|220|R|{3}{G}{W}|Legendary Creature - Elf Ranger|3|3|Double strike$When Drizzt Do'Urden enters the battlefield, create Guenhwyvar, a legendary 4/1 green Cat creature token with trample.$Whenever a creature dies, if it had power greater than Drizzt's power, put a number of +1/+1 counters on Drizzt equal to the difference.| Tiamat|Adventures in the Forgotten Realms|235|M|{2}{W}{U}{B}{R}{G}|Legendary Creature - Dragon God|7|7|Flying$When Tiamat enters the battlefield, if you cast it, search your library for up to five Dragon cards not named Tiamat that each have different names, reveal them, put them into your hand, then shuffle.| +Hive of the Eye Tyrant|Adventures in the Forgotten Realms|258|R||Land|||If you control two or more other lands, Hive of the Eye Tyrant enters the battlefield tapped.${T}: Add {B}.${3}{B}: Until end of turn, Hive of the Eye Tyrant becomes a 3/3 black Beholder creature with menace and "Whenever this creature attacks, exile target card from defending player's graveyard." It's still a land.| Plains|Adventures in the Forgotten Realms|262|C||Basic Land - Plains|||({T}: Add {W}.)| Island|Adventures in the Forgotten Realms|266|C||Basic Land - Island|||({T}: Add {U}.)| Swamp|Adventures in the Forgotten Realms|270|C||Basic Land - Swamp|||({T}: Add {B}.)|