[BLB] Implement Moonstone Harbinger

This commit is contained in:
theelk801 2024-07-19 17:50:00 -04:00
parent 0f33ac298c
commit 6374108d3f
2 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,60 @@
package mage.cards.m;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.GainLoseLifeYourTurnTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MoonstoneHarbinger extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.BAT, "");
private static final FilterPermanent filter2 = new FilterPermanent(SubType.BAT, "");
public MoonstoneHarbinger(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}");
this.subtype.add(SubType.BAT);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(1);
this.toughness = new MageInt(3);
// Flying
this.addAbility(FlyingAbility.getInstance());
// Deathtouch
this.addAbility(DeathtouchAbility.getInstance());
// Whenever you gain or lose life during your turn, Bats you control get +1/+0 and gain deathtouch until end of turn. This ability triggers only once each turn.
Ability ability = new GainLoseLifeYourTurnTriggeredAbility(new BoostControlledEffect(
1, 0, Duration.EndOfTurn, filter
).setText("Bats you control get +1/+0")).setTriggersLimitEachTurn(1);
ability.addEffect(new GainAbilityControlledEffect(
DeathtouchAbility.getInstance(), Duration.EndOfTurn, filter2
).setText("and gain deathtouch until end of turn"));
this.addAbility(ability);
}
private MoonstoneHarbinger(final MoonstoneHarbinger card) {
super(card);
}
@Override
public MoonstoneHarbinger copy() {
return new MoonstoneHarbinger(this);
}
}

View file

@ -130,6 +130,7 @@ public final class Bloomburrow extends ExpansionSet {
cards.add(new SetCardInfo("Mindwhisker", 60, Rarity.UNCOMMON, mage.cards.m.Mindwhisker.class));
cards.add(new SetCardInfo("Mistbreath Elder", 184, Rarity.RARE, mage.cards.m.MistbreathElder.class));
cards.add(new SetCardInfo("Moonrise Cleric", 226, Rarity.COMMON, mage.cards.m.MoonriseCleric.class));
cards.add(new SetCardInfo("Moonstone Harbinger", 101, Rarity.UNCOMMON, mage.cards.m.MoonstoneHarbinger.class));
cards.add(new SetCardInfo("Mountain", 274, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Mouse Trapper", 22, Rarity.UNCOMMON, mage.cards.m.MouseTrapper.class));
cards.add(new SetCardInfo("Mudflat Village", 257, Rarity.UNCOMMON, mage.cards.m.MudflatVillage.class));