From 20bc155e919cdffb4f51360de77ba4c8e977da71 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Sat, 19 Aug 2023 18:23:20 +0200 Subject: [PATCH] [WOE] Implement Restless Bivouac (#10844) Co-authored-by: Evan Kranzler --- .../src/mage/cards/r/RestlessBivouac.java | 59 +++++++++++++++++++ Mage.Sets/src/mage/sets/WildsOfEldraine.java | 1 + 2 files changed, 60 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RestlessBivouac.java diff --git a/Mage.Sets/src/mage/cards/r/RestlessBivouac.java b/Mage.Sets/src/mage/cards/r/RestlessBivouac.java new file mode 100644 index 00000000000..11ff8a8f921 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RestlessBivouac.java @@ -0,0 +1,59 @@ +package mage.cards.r; + +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.mana.RedManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.game.permanent.token.custom.CreatureToken; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class RestlessBivouac extends CardImpl { + + public RestlessBivouac(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + // Restless Fortress enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {R} or {W}. + this.addAbility(new RedManaAbility()); + this.addAbility(new WhiteManaAbility()); + + // {1}{R}{W}: Restless Bivouac becomes a 2/2 red and white Ox creature until end of turn. It's still a land. + this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect( + new CreatureToken(2, 2, "2/2 red and white Ox creature") + .withColor("RW").withSubType(SubType.OX), + CardType.LAND, Duration.EndOfTurn + ), new ManaCostsImpl<>("{1}{R}{W}"))); + + // Whenever Restless Bivouac attacks, put a +1/+1 counter on target creature you control. + Ability ability = new AttacksTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false); + ability.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(ability); + } + + private RestlessBivouac(final RestlessBivouac card) { + super(card); + } + + @Override + public RestlessBivouac copy() { + return new RestlessBivouac(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index 53037d46b3c..e8333a8f0ef 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -80,6 +80,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Plains", 262, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Rat Out", 103, Rarity.COMMON, mage.cards.r.RatOut.class)); cards.add(new SetCardInfo("Ratcatcher Trainee", 144, Rarity.COMMON, mage.cards.r.RatcatcherTrainee.class)); + cards.add(new SetCardInfo("Restless Bivouac", 257, Rarity.RARE, mage.cards.r.RestlessBivouac.class)); cards.add(new SetCardInfo("Realm-Scorcher Hellkite", 145, Rarity.MYTHIC, mage.cards.r.RealmScorcherHellkite.class)); cards.add(new SetCardInfo("Redcap Gutter-Dweller", 146, Rarity.RARE, mage.cards.r.RedcapGutterDweller.class)); cards.add(new SetCardInfo("Restless Cottage", 258, Rarity.RARE, mage.cards.r.RestlessCottage.class));