From c501abaae8ff15e57424cb4e204f7604dd138b0f Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 29 Mar 2024 23:10:21 -0400 Subject: [PATCH] [OTJ] Implement Bridled Bighorn --- .../src/mage/cards/b/BridledBighorn.java | 47 +++++++++++++++++++ .../mage/sets/OutlawsOfThunderJunction.java | 1 + .../game/permanent/token/SheepWhiteToken.java | 28 +++++++++++ 3 files changed, 76 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BridledBighorn.java create mode 100644 Mage/src/main/java/mage/game/permanent/token/SheepWhiteToken.java diff --git a/Mage.Sets/src/mage/cards/b/BridledBighorn.java b/Mage.Sets/src/mage/cards/b/BridledBighorn.java new file mode 100644 index 00000000000..66cbeb11157 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BridledBighorn.java @@ -0,0 +1,47 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.common.AttacksWhileSaddledTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.SaddleAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.SheepWhiteToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BridledBighorn extends CardImpl { + + public BridledBighorn(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); + + this.subtype.add(SubType.SHEEP); + this.subtype.add(SubType.MOUNT); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // Whenever Bridled Bighorn attacks while saddled, create a 1/1 white Sheep creature token. + this.addAbility(new AttacksWhileSaddledTriggeredAbility(new CreateTokenEffect(new SheepWhiteToken()))); + + // Saddle 2 + this.addAbility(new SaddleAbility(2)); + } + + private BridledBighorn(final BridledBighorn card) { + super(card); + } + + @Override + public BridledBighorn copy() { + return new BridledBighorn(this); + } +} diff --git a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java index 004941f9e11..c0d380e4732 100644 --- a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java +++ b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java @@ -39,6 +39,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet { cards.add(new SetCardInfo("Blooming Marsh", 266, Rarity.RARE, mage.cards.b.BloomingMarsh.class)); cards.add(new SetCardInfo("Botanical Sanctum", 267, Rarity.RARE, mage.cards.b.BotanicalSanctum.class)); cards.add(new SetCardInfo("Bovine Intervention", 6, Rarity.UNCOMMON, mage.cards.b.BovineIntervention.class)); + cards.add(new SetCardInfo("Bridled Bighorn", 7, Rarity.COMMON, mage.cards.b.BridledBighorn.class)); cards.add(new SetCardInfo("Brimstone Roundup", 115, Rarity.UNCOMMON, mage.cards.b.BrimstoneRoundup.class)); cards.add(new SetCardInfo("Bristlepack Sentry", 156, Rarity.COMMON, mage.cards.b.BristlepackSentry.class)); cards.add(new SetCardInfo("Bristling Backwoods", 253, Rarity.COMMON, mage.cards.b.BristlingBackwoods.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/SheepWhiteToken.java b/Mage/src/main/java/mage/game/permanent/token/SheepWhiteToken.java new file mode 100644 index 00000000000..f897d6e6cfd --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/SheepWhiteToken.java @@ -0,0 +1,28 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * @author TheElk801 + */ +public final class SheepWhiteToken extends TokenImpl { + + public SheepWhiteToken() { + super("Sheep Token", "1/1 white Sheep creature token"); + cardType.add(CardType.CREATURE); + color.setWhite(true); + subtype.add(SubType.SHEEP); + power = new MageInt(1); + toughness = new MageInt(1); + } + + private SheepWhiteToken(final SheepWhiteToken token) { + super(token); + } + + public SheepWhiteToken copy() { + return new SheepWhiteToken(this); + } +}