[ECL] Implement Bitterbloom Bearer

This commit is contained in:
theelk801 2025-09-28 18:59:41 -04:00
parent d7dec3baa5
commit 454c7e0116
3 changed files with 86 additions and 0 deletions

View file

@ -0,0 +1,51 @@
package mage.cards.b;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.abilities.keyword.FlashAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.FaerieBlueBlackToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BitterbloomBearer extends CardImpl {
public BitterbloomBearer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}");
this.subtype.add(SubType.FAERIE);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// Flash
this.addAbility(FlashAbility.getInstance());
// Flying
this.addAbility(FlyingAbility.getInstance());
// At the beginning of your upkeep, you lose 1 life and create a 1/1 blue and black Faerie creature token with flying.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1));
ability.addEffect(new CreateTokenEffect(new FaerieBlueBlackToken()).concatBy("and"));
this.addAbility(ability);
}
private BitterbloomBearer(final BitterbloomBearer card) {
super(card);
}
@Override
public BitterbloomBearer copy() {
return new BitterbloomBearer(this);
}
}

View file

@ -20,6 +20,9 @@ public final class LorwynEclipsed extends ExpansionSet {
this.blockName = "Lorwyn Eclipsed"; // for sorting in GUI this.blockName = "Lorwyn Eclipsed"; // for sorting in GUI
this.hasBasicLands = true; this.hasBasicLands = true;
cards.add(new SetCardInfo("Bitterbloom Bearer", 310, Rarity.MYTHIC, mage.cards.b.BitterbloomBearer.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Bitterbloom Bearer", 352, Rarity.MYTHIC, mage.cards.b.BitterbloomBearer.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Bitterbloom Bearer", 88, Rarity.MYTHIC, mage.cards.b.BitterbloomBearer.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Blood Crypt", 262, Rarity.RARE, mage.cards.b.BloodCrypt.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Blood Crypt", 262, Rarity.RARE, mage.cards.b.BloodCrypt.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Blood Crypt", 349, Rarity.RARE, mage.cards.b.BloodCrypt.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Blood Crypt", 349, Rarity.RARE, mage.cards.b.BloodCrypt.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Hallowed Fountain", 265, Rarity.RARE, mage.cards.h.HallowedFountain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hallowed Fountain", 265, Rarity.RARE, mage.cards.h.HallowedFountain.class, NON_FULL_USE_VARIOUS));

View file

@ -0,0 +1,32 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author spjspj
*/
public final class FaerieBlueBlackToken extends TokenImpl {
public FaerieBlueBlackToken() {
super("Faerie Rogue Token", "1/1 blue and black Faerie Rogue creature token with flying");
cardType.add(CardType.CREATURE);
color.setBlue(true);
color.setBlack(true);
subtype.add(SubType.FAERIE);
subtype.add(SubType.ROGUE);
power = new MageInt(1);
toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
}
private FaerieBlueBlackToken(final FaerieBlueBlackToken token) {
super(token);
}
public FaerieBlueBlackToken copy() {
return new FaerieBlueBlackToken(this);
}
}