From 83d877a9d03f40d110d86a3caec439f9b1c13cf3 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 27 Oct 2023 19:13:52 -0400 Subject: [PATCH] [LCI] Implement The Belligerent --- .../src/mage/cards/t/TheBelligerent.java | 53 +++++++++++++++++++ .../src/mage/sets/TheLostCavernsOfIxalan.java | 1 + 2 files changed, 54 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TheBelligerent.java diff --git a/Mage.Sets/src/mage/cards/t/TheBelligerent.java b/Mage.Sets/src/mage/cards/t/TheBelligerent.java new file mode 100644 index 00000000000..cd3d8e614c2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TheBelligerent.java @@ -0,0 +1,53 @@ +package mage.cards.t; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.LookAtTopCardOfLibraryAnyTimeEffect; +import mage.abilities.effects.common.continuous.PlayTheTopCardEffect; +import mage.abilities.keyword.CrewAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.FilterCard; +import mage.game.permanent.token.TreasureToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class TheBelligerent extends CardImpl { + + private static final FilterCard filter = new FilterCard("play lands and cast spells"); + + public TheBelligerent(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{U}{R}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Whenever The Belligerent attacks, create a Treasure token. Until end of turn, you may look at the top card of your library any time, and you may play lands and cast spells from the top of your library. + Ability ability = new AttacksTriggeredAbility(new CreateTokenEffect(new TreasureToken())); + ability.addEffect(new LookAtTopCardOfLibraryAnyTimeEffect(TargetController.YOU, Duration.EndOfTurn)); + ability.addEffect(new PlayTheTopCardEffect( + TargetController.YOU, filter, false + ).concatBy("and")); + this.addAbility(ability); + + // Crew 3 + this.addAbility(new CrewAbility(3)); + } + + private TheBelligerent(final TheBelligerent card) { + super(card); + } + + @Override + public TheBelligerent copy() { + return new TheBelligerent(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java index d5dc566e95c..d0e6006e338 100644 --- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java +++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java @@ -76,6 +76,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { cards.add(new SetCardInfo("Swamp", 397, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Temple of Civilization", 26, Rarity.MYTHIC, mage.cards.t.TempleOfCivilization.class)); cards.add(new SetCardInfo("Temple of Power", 158, Rarity.MYTHIC, mage.cards.t.TempleOfPower.class)); + cards.add(new SetCardInfo("The Belligerent", 225, Rarity.RARE, mage.cards.t.TheBelligerent.class)); cards.add(new SetCardInfo("The Skullspore Nexus", 212, Rarity.MYTHIC, mage.cards.t.TheSkullsporeNexus.class)); cards.add(new SetCardInfo("Thrashing Brontodon", 216, Rarity.UNCOMMON, mage.cards.t.ThrashingBrontodon.class)); cards.add(new SetCardInfo("Threefold Thunderhulk", 265, Rarity.RARE, mage.cards.t.ThreefoldThunderhulk.class));