[CLB] Implemented Thrakkus the Butcher

This commit is contained in:
Evan Kranzler 2022-05-23 09:59:52 -04:00
parent 68f4cc43b8
commit 906b87f757
3 changed files with 88 additions and 2 deletions

View file

@ -83,9 +83,9 @@ class RasaadYnBashirEffect extends OneShotEffect {
for (Permanent permanent : game.getBattlefield().getActivePermanents(
StaticFilters.FILTER_CONTROLLED_CREATURE, source.getControllerId(), source, game
)) {
if (permanent.getPower().getValue() != 0) {
if (permanent.getToughness().getValue() != 0) {
game.addEffect(new BoostTargetEffect(
permanent.getPower().getValue(), 0
0, permanent.getToughness().getValue()
).setTargetPointer(new FixedTarget(permanent, game)), source);
}
}

View file

@ -0,0 +1,85 @@
package mage.cards.t;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ThrakkusTheButcher extends CardImpl {
public ThrakkusTheButcher(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DRAGON);
this.subtype.add(SubType.PEASANT);
this.power = new MageInt(3);
this.toughness = new MageInt(4);
// Trample
this.addAbility(TrampleAbility.getInstance());
// Whenever Thrakkus the Butcher attacks, double the power of each dragon you control until end of turn.
this.addAbility(new AttacksTriggeredAbility());
}
private ThrakkusTheButcher(final ThrakkusTheButcher card) {
super(card);
}
@Override
public ThrakkusTheButcher copy() {
return new ThrakkusTheButcher(this);
}
}
class ThrakkusTheButcherEffect extends OneShotEffect {
private static final FilterPermanent filter = new FilterControlledCreaturePermanent(SubType.DRAGON);
ThrakkusTheButcherEffect() {
super(Outcome.Benefit);
staticText = "double the power of each dragon you control until end of turn";
}
private ThrakkusTheButcherEffect(final ThrakkusTheButcherEffect effect) {
super(effect);
}
@Override
public ThrakkusTheButcherEffect copy() {
return new ThrakkusTheButcherEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
for (Permanent permanent : game.getBattlefield().getActivePermanents(
filter, source.getControllerId(), source, game
)) {
if (permanent.getPower().getValue() != 0) {
game.addEffect(new BoostTargetEffect(
permanent.getPower().getValue(), 0
).setTargetPointer(new FixedTarget(permanent, game)), source);
}
}
return true;
}
}

View file

@ -112,6 +112,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet {
cards.add(new SetCardInfo("Swiftfoot Boots", 339, Rarity.UNCOMMON, mage.cards.s.SwiftfootBoots.class));
cards.add(new SetCardInfo("Tasha, the Witch Queen", 294, Rarity.MYTHIC, mage.cards.t.TashaTheWitchQueen.class));
cards.add(new SetCardInfo("The Council of Four", 271, Rarity.RARE, mage.cards.t.TheCouncilOfFour.class));
cards.add(new SetCardInfo("Thrakkus the Butcher", 295, Rarity.UNCOMMON, mage.cards.t.ThrakkusTheButcher.class));
cards.add(new SetCardInfo("Treasure Keeper", 341, Rarity.UNCOMMON, mage.cards.t.TreasureKeeper.class));
cards.add(new SetCardInfo("Tymora's Invoker", 101, Rarity.COMMON, mage.cards.t.TymorasInvoker.class));
cards.add(new SetCardInfo("Viconia, Drow Apostate", 156, Rarity.UNCOMMON, mage.cards.v.ViconiaDrowApostate.class));