From e7c2b14e629062d8d2f6278670e051f0a4379102 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 30 May 2022 11:34:47 -0400 Subject: [PATCH] [CLB] Implemented Saddle of the Cavalier --- .../src/mage/cards/s/SaddleOfTheCavalier.java | 52 +++++++++++++++++++ .../CommanderLegendsBattleForBaldursGate.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java diff --git a/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java b/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java new file mode 100644 index 0000000000..a5ab2fc2f7 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java @@ -0,0 +1,52 @@ +package mage.cards.s; + +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesAttachedEffect; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.PowerPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SaddleOfTheCavalier extends CardImpl { + + private static final FilterCreaturePermanent filter + = new FilterCreaturePermanent("creatures with power 3 or less"); + + static { + filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 4)); + } + + public SaddleOfTheCavalier(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{G}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +3/+3 and can't be blocked by creatures with power 3 or less. + Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(3, 3)); + ability.addEffect(new CantBeBlockedByCreaturesAttachedEffect( + Duration.WhileOnBattlefield, filter, AttachmentType.EQUIPMENT + ).setText("and can't be blocked by creatures with power 3 or less")); + this.addAbility(ability); + + // Equip {3} + this.addAbility(new EquipAbility(3)); + } + + private SaddleOfTheCavalier(final SaddleOfTheCavalier card) { + super(card); + } + + @Override + public SaddleOfTheCavalier copy() { + return new SaddleOfTheCavalier(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java index 1f25a2c6f4..98c2acb3ae 100644 --- a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java +++ b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java @@ -227,6 +227,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet { cards.add(new SetCardInfo("Robe of the Archmagi", 91, Rarity.RARE, mage.cards.r.RobeOfTheArchmagi.class)); cards.add(new SetCardInfo("Roving Harper", 40, Rarity.COMMON, mage.cards.r.RovingHarper.class)); cards.add(new SetCardInfo("Run Away Together", 92, Rarity.COMMON, mage.cards.r.RunAwayTogether.class)); + cards.add(new SetCardInfo("Saddle of the Cavalier", 251, Rarity.UNCOMMON, mage.cards.s.SaddleOfTheCavalier.class)); cards.add(new SetCardInfo("Safana, Calimport Cutthroat", 143, Rarity.UNCOMMON, mage.cards.s.SafanaCalimportCutthroat.class)); cards.add(new SetCardInfo("Sailors' Bane", 93, Rarity.UNCOMMON, mage.cards.s.SailorsBane.class)); cards.add(new SetCardInfo("Sapphire Dragon", 94, Rarity.UNCOMMON, mage.cards.s.SapphireDragon.class));