[BLB] Implement Brazen Collector

This commit is contained in:
theelk801 2024-07-10 23:11:28 -04:00
parent 2f071c55c1
commit 1fcb093690
2 changed files with 76 additions and 0 deletions

View file

@ -0,0 +1,75 @@
package mage.cards.b;
import mage.MageInt;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ManaType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.game.Game;
import mage.players.Player;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BrazenCollector extends CardImpl {
public BrazenCollector(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
this.subtype.add(SubType.RACCOON);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
// First strike
this.addAbility(FirstStrikeAbility.getInstance());
// Whenever Brazen Collector attacks, add {R}. Until end of turn, you don't lose this mana as steps and phases end.
this.addAbility(new AttacksTriggeredAbility(new BirgiGodOfStorytellingManaEffect()));
}
private BrazenCollector(final BrazenCollector card) {
super(card);
}
@Override
public BrazenCollector copy() {
return new BrazenCollector(this);
}
}
class BrazenCollectorEffect extends OneShotEffect {
BrazenCollectorEffect() {
super(Outcome.Benefit);
staticText = "add {R}. Until end of turn, you don't lose this mana as steps and phases end";
}
private BrazenCollectorEffect(final BrazenCollectorEffect effect) {
super(effect);
}
@Override
public BrazenCollectorEffect copy() {
return new BrazenCollectorEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
if (player == null) {
return false;
}
player.getManaPool().addMana(new Mana(ManaType.RED, 1), game, source, true);
return true;
}
}

View file

@ -26,6 +26,7 @@ public final class Bloomburrow extends ExpansionSet {
this.hasBoosters = false; // temporary
cards.add(new SetCardInfo("Brave-Kin Duo", 3, Rarity.COMMON, mage.cards.b.BraveKinDuo.class));
cards.add(new SetCardInfo("Brazen Collector", 128, Rarity.UNCOMMON, mage.cards.b.BrazenCollector.class));
cards.add(new SetCardInfo("Bria, Riptide Rogue", 379, Rarity.MYTHIC, mage.cards.b.BriaRiptideRogue.class));
cards.add(new SetCardInfo("Byrke, Long Ear of the Law", 380, Rarity.MYTHIC, mage.cards.b.ByrkeLongEarOfTheLaw.class));
cards.add(new SetCardInfo("Cache Grab", 167, Rarity.COMMON, mage.cards.c.CacheGrab.class));