[CLB] Implemented Cadira, Caller of the Small

This commit is contained in:
Evan Kranzler 2022-05-20 17:31:10 -04:00
parent 3a36477606
commit fdfd5c9c23
3 changed files with 95 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.c;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.RabbitToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class CadiraCallerOfTheSmall extends CardImpl {
private static final FilterPermanent filter = new FilterControlledPermanent();
static {
filter.add(TokenPredicate.TRUE);
}
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
private static final Hint hint = new ValueHint("Tokens you control", xValue);
public CadiraCallerOfTheSmall(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ORC);
this.subtype.add(SubType.RANGER);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// Trample
this.addAbility(TrampleAbility.getInstance());
// Whenever Cadira, Caller of the Small deals combat damage to a player, for each token you control, create a 1/1 white Rabbit creature token.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new CreateTokenEffect(new RabbitToken(), xValue)
.setText("for each token you control, create a 1/1 white Rabbit creature token"),
false
));
}
private CadiraCallerOfTheSmall(final CadiraCallerOfTheSmall card) {
super(card);
}
@Override
public CadiraCallerOfTheSmall copy() {
return new CadiraCallerOfTheSmall(this);
}
}

View file

@ -37,6 +37,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet {
cards.add(new SetCardInfo("Blur", 58, Rarity.COMMON, mage.cards.b.Blur.class));
cards.add(new SetCardInfo("Bountiful Promenade", 348, Rarity.RARE, mage.cards.b.BountifulPromenade.class));
cards.add(new SetCardInfo("Bramble Sovereign", 218, Rarity.MYTHIC, mage.cards.b.BrambleSovereign.class));
cards.add(new SetCardInfo("Cadira, Caller of the Small", 269, Rarity.UNCOMMON, mage.cards.c.CadiraCallerOfTheSmall.class));
cards.add(new SetCardInfo("Charcoal Diamond", 305, Rarity.COMMON, mage.cards.c.CharcoalDiamond.class));
cards.add(new SetCardInfo("Cloakwood Hermit", 221, Rarity.UNCOMMON, mage.cards.c.CloakwoodHermit.class));
cards.add(new SetCardInfo("Command Tower", 351, Rarity.COMMON, mage.cards.c.CommandTower.class));

View file

@ -0,0 +1,29 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class RabbitToken extends TokenImpl {
public RabbitToken() {
super("Rabbit Token", "1/1 white Rabbit creature token");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add(SubType.RABBIT);
power = new MageInt(1);
toughness = new MageInt(1);
}
private RabbitToken(final RabbitToken token) {
super(token);
}
@Override
public RabbitToken copy() {
return new RabbitToken(this);
}
}