From 2fa35fd56d2415520c75ab514ba7103cc61211bd Mon Sep 17 00:00:00 2001 From: theelk801 Date: Mon, 15 Jul 2024 17:24:05 -0400 Subject: [PATCH] [BLB] Implement Hazardroot Herbalist --- .../src/mage/cards/h/HazardrootHerbalist.java | 55 +++++++++++++++++++ Mage.Sets/src/mage/sets/Bloomburrow.java | 1 + 2 files changed, 56 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/h/HazardrootHerbalist.java diff --git a/Mage.Sets/src/mage/cards/h/HazardrootHerbalist.java b/Mage.Sets/src/mage/cards/h/HazardrootHerbalist.java new file mode 100644 index 00000000000..854bb481645 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HazardrootHerbalist.java @@ -0,0 +1,55 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.TargetObjectMatchesFilterCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.AddContinuousEffectToGame; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HazardrootHerbalist extends CardImpl { + + private static final Condition condition = new TargetObjectMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_TOKEN); + + public HazardrootHerbalist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.subtype.add(SubType.RABBIT); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(1); + this.toughness = new MageInt(4); + + // Whenever you attack, target creature you control gets +1/+0 until end of turn. If that creature is a token, it also gains deathtouch until end of turn. + Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(1, 0)); + ability.addEffect(new ConditionalOneShotEffect( + new AddContinuousEffectToGame(new GainAbilityTargetEffect(DeathtouchAbility.getInstance())), + condition, "if that creature is a token, it also gains deathtouch until end of turn" + )); + ability.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(ability); + } + + private HazardrootHerbalist(final HazardrootHerbalist card) { + super(card); + } + + @Override + public HazardrootHerbalist copy() { + return new HazardrootHerbalist(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Bloomburrow.java b/Mage.Sets/src/mage/sets/Bloomburrow.java index af385695687..a868f5aa6a4 100644 --- a/Mage.Sets/src/mage/sets/Bloomburrow.java +++ b/Mage.Sets/src/mage/sets/Bloomburrow.java @@ -60,6 +60,7 @@ public final class Bloomburrow extends ExpansionSet { cards.add(new SetCardInfo("Glidedive Duo", 96, Rarity.COMMON, mage.cards.g.GlidediveDuo.class)); cards.add(new SetCardInfo("Harnesser of Storms", 137, Rarity.UNCOMMON, mage.cards.h.HarnesserOfStorms.class)); cards.add(new SetCardInfo("Harvestrite Host", 15, Rarity.UNCOMMON, mage.cards.h.HarvestriteHost.class)); + cards.add(new SetCardInfo("Hazardroot Herbalist", 174, Rarity.UNCOMMON, mage.cards.h.HazardrootHerbalist.class)); cards.add(new SetCardInfo("Hazel's Nocturne", 97, Rarity.UNCOMMON, mage.cards.h.HazelsNocturne.class)); cards.add(new SetCardInfo("Head of the Homestead", 216, Rarity.COMMON, mage.cards.h.HeadOfTheHomestead.class)); cards.add(new SetCardInfo("Hearthborn Battler", 139, Rarity.RARE, mage.cards.h.HearthbornBattler.class));