From 5c5274ac6f29cbd08ccc173b40da3a7321b500db Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 29 May 2022 20:41:33 -0400 Subject: [PATCH] [CLB] Implemented Blessed Hippogriff --- .../src/mage/cards/b/BlessedHippogriff.java | 62 +++++++++++++++++++ .../CommanderLegendsBattleForBaldursGate.java | 1 + 2 files changed, 63 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BlessedHippogriff.java diff --git a/Mage.Sets/src/mage/cards/b/BlessedHippogriff.java b/Mage.Sets/src/mage/cards/b/BlessedHippogriff.java new file mode 100644 index 00000000000..1d480e78679 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BlessedHippogriff.java @@ -0,0 +1,62 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.AdventureCard; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterAttackingCreature; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BlessedHippogriff extends AdventureCard { + + private static final FilterPermanent filter = new FilterAttackingCreature("attacking creature without flying"); + + static { + filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); + } + + public BlessedHippogriff(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.INSTANT}, "{3}{W}", "Tyr's Blessing", "{W}"); + + this.subtype.add(SubType.HIPPOGRIFF); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever Blessed Hippogriff attacks, target attacking creature without flying gains flying until end of turn. + Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance())); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + + // Tyr's Blessing + // Target creature gains indestructible until end of turn. + this.getSpellCard().getSpellAbility().addEffect(new GainAbilityTargetEffect(IndestructibleAbility.getInstance())); + this.getSpellCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + private BlessedHippogriff(final BlessedHippogriff card) { + super(card); + } + + @Override + public BlessedHippogriff copy() { + return new BlessedHippogriff(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java index 348e68b88d8..c74f09de038 100644 --- a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java +++ b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java @@ -56,6 +56,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet { cards.add(new SetCardInfo("Bhaal, Lord of Murder", 268, Rarity.RARE, mage.cards.b.BhaalLordOfMurder.class)); cards.add(new SetCardInfo("Black Dragon Gate", 347, Rarity.COMMON, mage.cards.b.BlackDragonGate.class)); cards.add(new SetCardInfo("Blade of Selves", 301, Rarity.RARE, mage.cards.b.BladeOfSelves.class)); + cards.add(new SetCardInfo("Blessed Hippogriff", 11, Rarity.COMMON, mage.cards.b.BlessedHippogriff.class)); cards.add(new SetCardInfo("Bloodboil Sorcerer", 164, Rarity.UNCOMMON, mage.cards.b.BloodboilSorcerer.class)); cards.add(new SetCardInfo("Blur", 58, Rarity.COMMON, mage.cards.b.Blur.class)); cards.add(new SetCardInfo("Bountiful Promenade", 348, Rarity.RARE, mage.cards.b.BountifulPromenade.class));