From f74e26fc3898cf6159166cd5c4d438fb2d9c2211 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Fri, 25 Aug 2023 15:19:26 +0200 Subject: [PATCH] [WOE] Implement Bespoke Battlegarb (#11008) --- .../src/mage/cards/b/BespokeBattlegarb.java | 63 +++++++++++++++++++ Mage.Sets/src/mage/sets/WildsOfEldraine.java | 1 + 2 files changed, 64 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java diff --git a/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java b/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java new file mode 100644 index 00000000000..59a0d90f9e3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java @@ -0,0 +1,63 @@ +package mage.cards.b; + +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.CelebrationCondition; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.AttachEffect; +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.target.common.TargetControlledCreaturePermanent; +import mage.watchers.common.CelebrationWatcher; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class BespokeBattlegarb extends CardImpl { + + public BespokeBattlegarb(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{R}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +2/+0. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0, Duration.WhileOnBattlefield))); + + // Celebration -- At the beginning of combat on your turn, if two or more nonland permanents entered the battlefield under your control this turn, attach Bespoke Battlegarb to up to one target creature you control. + Ability ability = new ConditionalInterveningIfTriggeredAbility( + new BeginningOfCombatTriggeredAbility( + new AttachEffect( + Outcome.BoostCreature, + "attach {this} to up to one target creature you control" + ), + TargetController.YOU, + false + ), CelebrationCondition.instance, "At the beginning of combat on your turn, if two " + + "or more nonland permanents entered the battlefield under your control this turn, " + + "attach {this} to up to one target creature you control" + ); + ability.addTarget(new TargetControlledCreaturePermanent(0, 1)); + ability.setAbilityWord(AbilityWord.CELEBRATION); + ability.addHint(CelebrationCondition.getHint()); + this.addAbility(ability, new CelebrationWatcher()); + + // Equip {2} + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), false)); + } + + private BespokeBattlegarb(final BespokeBattlegarb card) { + super(card); + } + + @Override + public BespokeBattlegarb copy() { + return new BespokeBattlegarb(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index 3b54945d109..9ace17aec1c 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -40,6 +40,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Beluna's Gatekeeper", 43, Rarity.COMMON, mage.cards.b.BelunasGatekeeper.class)); cards.add(new SetCardInfo("Beseech the Mirror", 82, Rarity.MYTHIC, mage.cards.b.BeseechTheMirror.class)); cards.add(new SetCardInfo("Besotted Knight", 4, Rarity.COMMON, mage.cards.b.BesottedKnight.class)); + cards.add(new SetCardInfo("Bespoke Battlegarb", 122, Rarity.COMMON, mage.cards.b.BespokeBattlegarb.class)); cards.add(new SetCardInfo("Bestial Bloodline", 162, Rarity.COMMON, mage.cards.b.BestialBloodline.class)); cards.add(new SetCardInfo("Bitter Chill", 44, Rarity.UNCOMMON, mage.cards.b.BitterChill.class)); cards.add(new SetCardInfo("Blossoming Tortoise", 163, Rarity.MYTHIC, mage.cards.b.BlossomingTortoise.class));