From d3cefca7331059e8ea25a97bf7cb58b4bed72926 Mon Sep 17 00:00:00 2001 From: ciaccona007 Date: Sat, 9 Jan 2021 01:11:16 -0500 Subject: [PATCH] Implement Bretagard Stronghold (#7351) --- .../src/mage/cards/b/BretagardStronghold.java | 71 +++++++++++++++++++ Mage.Sets/src/mage/sets/Kaldheim.java | 1 + 2 files changed, 72 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BretagardStronghold.java diff --git a/Mage.Sets/src/mage/cards/b/BretagardStronghold.java b/Mage.Sets/src/mage/cards/b/BretagardStronghold.java new file mode 100644 index 00000000000..4057c810036 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BretagardStronghold.java @@ -0,0 +1,71 @@ +package mage.cards.b; + +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class BretagardStronghold extends CardImpl { + + public BretagardStronghold(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + + // Bretagard Stronghold enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {G}. + this.addAbility(new GreenManaAbility()); + + // {G}{W}{W}, {T}, Sacrifice Bretagard Stronghold: Put a +1/+1 counter on each of up to two target creatures you control. They gain vigilance and lifelink until end of turn. Activate this ability only any time you cast a sorcery. + Effect countersEffect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); + countersEffect.setText("Put a +1/+1 counter on each of up to two target creatures you control"); + + Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, countersEffect, new ManaCostsImpl<>("{G}{W}{W}")); + + Effect vigilanceEffect = new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn); + vigilanceEffect.setText("They gain vigilance until end of turn"); + ability.addEffect(vigilanceEffect); + + Effect lifelinkEffect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn); + lifelinkEffect.setText("They gain lifelink until end of turn"); + ability.addEffect(lifelinkEffect); + + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetControlledCreaturePermanent(0, 2)); + this.addAbility(ability); + + + } + + private BretagardStronghold(final BretagardStronghold card) { + super(card); + } + + @Override + public BretagardStronghold copy() { + return new BretagardStronghold(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Kaldheim.java b/Mage.Sets/src/mage/sets/Kaldheim.java index ee278cb31c5..2b04f443995 100644 --- a/Mage.Sets/src/mage/sets/Kaldheim.java +++ b/Mage.Sets/src/mage/sets/Kaldheim.java @@ -50,6 +50,7 @@ public final class Kaldheim extends ExpansionSet { cards.add(new SetCardInfo("Behold the Multiverse", 46, Rarity.COMMON, mage.cards.b.BeholdTheMultiverse.class)); cards.add(new SetCardInfo("Binding the Old Gods", 206, Rarity.UNCOMMON, mage.cards.b.BindingTheOldGods.class)); cards.add(new SetCardInfo("Blightstep Pathway", 252, Rarity.RARE, mage.cards.b.BlightstepPathway.class)); + cards.add(new SetCardInfo("Bretagard Stronghold", 253, Rarity.UNCOMMON, mage.cards.b.BretagardStronghold.class)); cards.add(new SetCardInfo("Canopy Tactician", 378, Rarity.RARE, mage.cards.c.CanopyTactician.class)); cards.add(new SetCardInfo("Cleaving Reaper", 376, Rarity.RARE, mage.cards.c.CleavingReaper.class)); cards.add(new SetCardInfo("Darkbore Pathway", 254, Rarity.RARE, mage.cards.d.DarkborePathway.class));