From 3690e84eea86f436e0c07e6130a39bde32bfea2c Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Tue, 22 Aug 2023 03:20:14 +0200 Subject: [PATCH] [WOE] Implement Belligerent of the Ball (#10928) --- .../mage/cards/b/BelligerentOfTheBall.java | 60 +++++++++++++++++++ Mage.Sets/src/mage/sets/WildsOfEldraine.java | 1 + 2 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java diff --git a/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java b/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java new file mode 100644 index 00000000000..4ad762c2cd3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java @@ -0,0 +1,60 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.condition.common.CelebrationCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.watchers.common.CelebrationWatcher; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class BelligerentOfTheBall extends CardImpl { + + public BelligerentOfTheBall(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Celebration -- At the beginning of combat on your turn, if two or more nonland permanents entered the battlefield under your control this turn, target creature you control gets +1/+0 and gains menace until end of turn. + Ability ability = new ConditionalInterveningIfTriggeredAbility( + new BeginningOfCombatTriggeredAbility( + new BoostTargetEffect(1, 0), + 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, target creature you control " + + "gets +1/+0 and gains menace until end of turn." + ); + ability.addEffect(new GainAbilityTargetEffect(new MenaceAbility(false))); + ability.addTarget(new TargetControlledCreaturePermanent()); + ability.setAbilityWord(AbilityWord.CELEBRATION); + ability.addHint(CelebrationCondition.getHint()); + this.addAbility(ability, new CelebrationWatcher()); + } + + private BelligerentOfTheBall(final BelligerentOfTheBall card) { + super(card); + } + + @Override + public BelligerentOfTheBall copy() { + return new BelligerentOfTheBall(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index fff4ffaf56c..9533d0c3ed2 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -27,6 +27,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Ashiok's Reaper", 79, Rarity.UNCOMMON, mage.cards.a.AshioksReaper.class)); cards.add(new SetCardInfo("Asinine Antics", 42, Rarity.MYTHIC, mage.cards.a.AsinineAntics.class)); cards.add(new SetCardInfo("Beanstalk Wurm", 161, Rarity.COMMON, mage.cards.b.BeanstalkWurm.class)); + cards.add(new SetCardInfo("Belligerent of the Ball", 120, Rarity.UNCOMMON, mage.cards.b.BelligerentOfTheBall.class)); cards.add(new SetCardInfo("Beluna Grandsquall", 220, Rarity.MYTHIC, mage.cards.b.BelunaGrandsquall.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));