Implement Bretagard Stronghold (#7351)

This commit is contained in:
ciaccona007 2021-01-09 01:11:16 -05:00 committed by GitHub
parent ee20704cbd
commit d3cefca733
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 72 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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));