From 261b09c7113bf2a659cea59f26f90a7cef2406d0 Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Tue, 1 Jun 2021 19:13:14 -0500 Subject: [PATCH] [MH2] Implemented Bloodbraid Marauder (#7871) * [MH2] Implemented Bloodbraid Marauder * [MH2] Bloodbraid Marauder - Use gain ability effect --- .../src/mage/cards/b/BloodbraidMarauder.java | 59 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons2.java | 1 + 2 files changed, 60 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BloodbraidMarauder.java diff --git a/Mage.Sets/src/mage/cards/b/BloodbraidMarauder.java b/Mage.Sets/src/mage/cards/b/BloodbraidMarauder.java new file mode 100644 index 0000000000..60fbd087b4 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BloodbraidMarauder.java @@ -0,0 +1,59 @@ +package mage.cards.b; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.CantBlockAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DeliriumCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.hint.common.CardTypesInGraveyardHint; +import mage.abilities.keyword.CascadeAbility; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; + +/** + * + * @author weirddan455 + */ +public final class BloodbraidMarauder extends CardImpl { + + private static final String REMINDER_TEXT = " (When you cast this spell, " + + "exile cards from the top of your library until you exile a " + + "nonland card whose mana value is less than this spell's mana value. " + + "You may cast that spell without paying its mana cost " + + "if its mana value is less than this spell's mana value. " + + "Then put all cards exiled this way that weren't cast on the bottom of your library in a random order.)"; + + public BloodbraidMarauder(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Bloodbraid Marauder can't block. + this.addAbility(new CantBlockAbility()); + + // Delirium — This spell has cascade as long as there are four or more card types among cards in your graveyard. + this.addAbility(new SimpleStaticAbility(Zone.STACK, new ConditionalContinuousEffect( + new GainAbilitySourceEffect(new CascadeAbility(), Duration.WhileOnStack, true), + DeliriumCondition.instance, + "Delirium — This spell has cascade as long as there are four or more card types among cards in your graveyard." + REMINDER_TEXT + )).addHint(CardTypesInGraveyardHint.YOU)); + } + + private BloodbraidMarauder(final BloodbraidMarauder card) { + super(card); + } + + @Override + public BloodbraidMarauder copy() { + return new BloodbraidMarauder(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons2.java b/Mage.Sets/src/mage/sets/ModernHorizons2.java index 4556778cb9..77e6a13ff1 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons2.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons2.java @@ -40,6 +40,7 @@ public final class ModernHorizons2 extends ExpansionSet { cards.add(new SetCardInfo("Asmoranomardicadaistinaculdacar", 186, Rarity.RARE, mage.cards.a.Asmoranomardicadaistinaculdacar.class)); cards.add(new SetCardInfo("Batterbone", 221, Rarity.UNCOMMON, mage.cards.b.Batterbone.class)); cards.add(new SetCardInfo("Battle Plan", 114, Rarity.COMMON, mage.cards.b.BattlePlan.class)); + cards.add(new SetCardInfo("Bloodbraid Marauder", 116, Rarity.RARE, mage.cards.b.BloodbraidMarauder.class)); cards.add(new SetCardInfo("Bone Shards", 76, Rarity.COMMON, mage.cards.b.BoneShards.class)); cards.add(new SetCardInfo("Bone Shredder", 272, Rarity.UNCOMMON, mage.cards.b.BoneShredder.class)); cards.add(new SetCardInfo("Bottle Golems", 222, Rarity.COMMON, mage.cards.b.BottleGolems.class));