From 142a4e040bf0b535d308de3d299222c2559d8bdd Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 5 Apr 2020 15:37:37 -0400 Subject: [PATCH] Implemented Proud Wildbonder --- .../src/mage/cards/p/ProudWildbonder.java | 61 +++++++++++++++++++ .../src/mage/sets/IkoriaLairOfBehemoths.java | 1 + 2 files changed, 62 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/p/ProudWildbonder.java diff --git a/Mage.Sets/src/mage/cards/p/ProudWildbonder.java b/Mage.Sets/src/mage/cards/p/ProudWildbonder.java new file mode 100644 index 00000000000..fe4893d74f9 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/ProudWildbonder.java @@ -0,0 +1,61 @@ +package mage.cards.p; + +import mage.MageInt; +import mage.abilities.common.DamageAsThoughNotBlockedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.DependencyType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AbilityPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ProudWildbonder extends CardImpl { + + private static final FilterPermanent filter = new FilterCreaturePermanent(); + + static { + filter.add(new AbilityPredicate(TrampleAbility.class)); + } + + public ProudWildbonder(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R/G}{R/G}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Creatures you control with trample have "You may have this creature assign its combat damage as though it weren't blocked." + ContinuousEffect effect = new GainAbilityControlledEffect( + DamageAsThoughNotBlockedAbility.getInstance(), Duration.WhileOnBattlefield, filter + ); + effect.setText("Creatures you control with trample have " + + "\"You may have this creature assign its combat damage as though it weren't blocked.\""); + effect.setDependedToType(DependencyType.AddingAbility); + this.addAbility(new SimpleStaticAbility(effect)); + } + + private ProudWildbonder(final ProudWildbonder card) { + super(card); + } + + @Override + public ProudWildbonder copy() { + return new ProudWildbonder(this); + } +} diff --git a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java index f74ee5f6c0f..fa200b66e84 100644 --- a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java +++ b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java @@ -64,6 +64,7 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet { cards.add(new SetCardInfo("Phase Dolphin", 62, Rarity.COMMON, mage.cards.p.PhaseDolphin.class)); cards.add(new SetCardInfo("Pouncing Shoreshark", 64, Rarity.UNCOMMON, mage.cards.p.PouncingShoreshark.class)); cards.add(new SetCardInfo("Primal Empathy", 200, Rarity.UNCOMMON, mage.cards.p.PrimalEmpathy.class)); + cards.add(new SetCardInfo("Proud Wildbonder", 229, Rarity.UNCOMMON, mage.cards.p.ProudWildbonder.class)); cards.add(new SetCardInfo("Raugrin Crystal", 238, Rarity.UNCOMMON, mage.cards.r.RaugrinCrystal.class)); cards.add(new SetCardInfo("Reconnaissance Mission", 65, Rarity.UNCOMMON, mage.cards.r.ReconnaissanceMission.class)); cards.add(new SetCardInfo("Savai Crystal", 239, Rarity.UNCOMMON, mage.cards.s.SavaiCrystal.class));