diff --git a/Mage.Sets/src/mage/cards/g/GreatHallOfStarnheim.java b/Mage.Sets/src/mage/cards/g/GreatHallOfStarnheim.java new file mode 100644 index 00000000000..5664bd536bc --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GreatHallOfStarnheim.java @@ -0,0 +1,61 @@ +package mage.cards.g; + +import java.util.UUID; + +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.game.permanent.token.AngelWarriorVigilanceToken; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author weirddan455 + */ +public final class GreatHallOfStarnheim extends CardImpl { + + public GreatHallOfStarnheim(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + // Great Hall of Starnheim enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {B}. + this.addAbility(new BlackManaAbility()); + + // {W}{W}{B}, {T}, Sacrifice Great Hall of Starnheim and a creature you control: + // Create a 4/4 white Angel Warrior creature token with flying and vigilance. + // Activate this ability only any time you could cast a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility( + Zone.BATTLEFIELD, + new CreateTokenEffect(new AngelWarriorVigilanceToken()), + new ManaCostsImpl<>("{W}{W}{B}") + ); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + Cost cost = new SacrificeTargetCost(new TargetControlledCreaturePermanent()); + cost.setText("and a creature you control"); + ability.addCost(cost); + this.addAbility(ability); + } + + private GreatHallOfStarnheim(final GreatHallOfStarnheim card) { + super(card); + } + + @Override + public GreatHallOfStarnheim copy() { + return new GreatHallOfStarnheim(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Kaldheim.java b/Mage.Sets/src/mage/sets/Kaldheim.java index de207ed4f27..968532c27be 100644 --- a/Mage.Sets/src/mage/sets/Kaldheim.java +++ b/Mage.Sets/src/mage/sets/Kaldheim.java @@ -178,6 +178,7 @@ public final class Kaldheim extends ExpansionSet { cards.add(new SetCardInfo("Goldmaw Champion", 14, Rarity.COMMON, mage.cards.g.GoldmawChampion.class)); cards.add(new SetCardInfo("Goldspan Dragon", 139, Rarity.MYTHIC, mage.cards.g.GoldspanDragon.class)); cards.add(new SetCardInfo("Goldvein Pick", 239, Rarity.COMMON, mage.cards.g.GoldveinPick.class)); + cards.add(new SetCardInfo("Great Hall of Starnheim", 259, Rarity.UNCOMMON, mage.cards.g.GreatHallOfStarnheim.class)); cards.add(new SetCardInfo("Grim Draugr", 96, Rarity.COMMON, mage.cards.g.GrimDraugr.class)); cards.add(new SetCardInfo("Grizzled Outrider", 173, Rarity.COMMON, mage.cards.g.GrizzledOutrider.class)); cards.add(new SetCardInfo("Guardian Gladewalker", 174, Rarity.COMMON, mage.cards.g.GuardianGladewalker.class));