[BLB] Implement Blooming Blast

This commit is contained in:
theelk801 2024-07-18 15:00:33 -04:00
parent ff252a3bdb
commit afe3516a32
3 changed files with 50 additions and 0 deletions

View file

@ -0,0 +1,44 @@
package mage.cards.b;
import mage.abilities.condition.common.GiftWasPromisedCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetControllerEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.GiftAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.GiftType;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BloomingBlast extends CardImpl {
public BloomingBlast(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}");
// Gift a Treasure
this.addAbility(new GiftAbility(this, GiftType.TREASURE));
// Blooming Blast deals 2 damage to target creature. If the gift was promised, Blooming Blast also deals 3 damage to that creature's controller.
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageTargetControllerEffect(3), GiftWasPromisedCondition.TRUE,
"if the gift was promised, {this} also deals 3 damage to that creature's controller"
));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
private BloomingBlast(final BloomingBlast card) {
super(card);
}
@Override
public BloomingBlast copy() {
return new BloomingBlast(this);
}
}

View file

@ -31,6 +31,7 @@ public final class Bloomburrow extends ExpansionSet {
cards.add(new SetCardInfo("Barkform Harvester", 243, Rarity.COMMON, mage.cards.b.BarkformHarvester.class));
cards.add(new SetCardInfo("Baylen, the Haymaker", 205, Rarity.RARE, mage.cards.b.BaylenTheHaymaker.class));
cards.add(new SetCardInfo("Bellowing Crier", 42, Rarity.COMMON, mage.cards.b.BellowingCrier.class));
cards.add(new SetCardInfo("Blooming Blast", 126, Rarity.UNCOMMON, mage.cards.b.BloomingBlast.class));
cards.add(new SetCardInfo("Blossoming Sands", 396, Rarity.COMMON, mage.cards.b.BlossomingSands.class));
cards.add(new SetCardInfo("Bonecache Overseer", 85, Rarity.UNCOMMON, mage.cards.b.BonecacheOverseer.class));
cards.add(new SetCardInfo("Brambleguard Captain", 127, Rarity.UNCOMMON, mage.cards.b.BrambleguardCaptain.class));

View file

@ -4,6 +4,7 @@ import mage.abilities.Ability;
import mage.game.Game;
import mage.game.permanent.token.FishNoAbilityToken;
import mage.game.permanent.token.FoodToken;
import mage.game.permanent.token.TreasureToken;
import mage.players.Player;
/**
@ -18,6 +19,10 @@ public enum GiftType {
"a Food", "create a Food token",
(p, g, s) -> new FoodToken().putOntoBattlefield(1, g, s, p.getId())
),
TREASURE(
"a Treasure", "create a Treasure token",
(p, g, s) -> new TreasureToken().putOntoBattlefield(1, g, s, p.getId())
),
TAPPED_FISH(
"a tapped Fish", "create a tapped 1/1 blue Fish creature token",
(p, g, s) -> new FishNoAbilityToken().putOntoBattlefield(1, g, s, p.getId(), true, false)