[SNC] Implemented Cabaretti Charm

This commit is contained in:
Evan Kranzler 2022-03-30 22:05:52 -04:00
parent 09b37a94f8
commit 063bf51bb5
5 changed files with 92 additions and 1 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.c;
import mage.abilities.Mode;
import mage.abilities.dynamicvalue.common.CreaturesYouControlCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.hint.common.CreaturesYouControlHint;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.game.permanent.token.CitizenGreenWhiteToken;
import mage.target.common.TargetCreatureOrPlaneswalker;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class CabarettiCharm extends CardImpl {
public CabarettiCharm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}{G}{W}");
// Choose one
// Cabaretti Charm deals damage equal to the number of creatures you control to target creature or planeswalker.
this.getSpellAbility().addEffect(new DamageTargetEffect(CreaturesYouControlCount.instance));
this.getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker());
this.getSpellAbility().addHint(CreaturesYouControlHint.instance);
// Creatures you control get +1/+1 and gain trample until end of turn.
this.getSpellAbility().addMode(new Mode(
new BoostControlledEffect(
1, 1, Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURES
).setText("creatures you control get +1/+1")
).addEffect(new GainAbilityControlledEffect(
TrampleAbility.getInstance(), Duration.EndOfTurn,
StaticFilters.FILTER_CONTROLLED_CREATURE
).setText("and gain trample until end of turn")));
// Create two 1/1 green and white Citizen creature tokens.
this.getSpellAbility().addMode(new Mode(new CreateTokenEffect(new CitizenGreenWhiteToken(), 2)));
}
private CabarettiCharm(final CabarettiCharm card) {
super(card);
}
@Override
public CabarettiCharm copy() {
return new CabarettiCharm(this);
}
}

View file

@ -22,6 +22,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet {
this.hasBasicLands = true;
cards.add(new SetCardInfo("Brokers Ascendancy", 170, Rarity.RARE, mage.cards.b.BrokersAscendancy.class));
cards.add(new SetCardInfo("Cabaretti Charm", 173, Rarity.UNCOMMON, mage.cards.c.CabarettiCharm.class));
cards.add(new SetCardInfo("Forest", 280, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Island", 274, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Jetmir's Garden", 250, Rarity.RARE, mage.cards.j.JetmirsGarden.class));

View file

@ -66,8 +66,9 @@ public class Mode implements Serializable {
return effects;
}
public void addEffect(Effect effect) {
public Mode addEffect(Effect effect) {
effects.add(effect);
return this;
}
public String getFlavorWord() {

View file

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

View file

@ -43918,6 +43918,7 @@ Wickerwing Effigy|Alchemy: Innistrad|61|R|{3}|Artifact Creature - Scarecrow|1|4|
Ominous Traveler|Alchemy: Innistrad|62|R|{2}|Creature - Human|1|1|When Ominous Traveler enters the battlefield, draft a card from Ominous Traveler's spellbook. That card perpetually gains "You may spend mana as though it were mana of any color to cast this spell" and "When you cast this spell, return a card named Ominous Traveler you control to its owner's hand."|
Forsaken Crossroads|Alchemy: Innistrad|63|R||Land|||Forsaken Crossroads enters the battlefield tapped.$As Forsaken Crossroads enters the battlefield, choose a color.$When Forsaken Crossroads enters the battlefield, scry 1. If you weren't the starting player, you may untap Forsaken Crossroads instead.${T}: Add one mana of the chosen color.|
Brokers Ascendancy|Streets of New Capenna|170|R|{G}{W}{U}|Enchantment|||At the beginning of your end step, put a +1/+1 counter on each creature you control and a loyalty counter on each planeswalker you control.|
Cabaretti Charm|Streets of New Capenna|173|U|{R}{G}{W}|Instant|||Choose one —$• Cabaretti Charm deals damage equal to the number of creatures you control to target creature or planeswalker.$• Creatures you control get +1/+1 and gain trample until end of turn.$• Create two 1/1 green and white Citizen creature tokens.|
Maestros Charm|Streets of New Capenna|199|U|{U}{B}{R}|Instant|||Choose one —$• Look at the top five cards of your library. Put one of those cards into your hand and the rest into your graveyard.$• Each opponent loses 3 life and you gain 3 life.$• Maestros Charm deals 5 damage to target creature or planeswalker.|
Obscura Charm|Streets of New Capenna|208|U|{W}{U}{B}|Instant|||Choose one —$• Return target multicolored permanent card with mana value 3 or less from your graveyard to the battlefield tapped.$• Counter target instant or sorcery spell.$• Destroy target creature or planeswalker with mana value 3 or less.|
Jetmir's Garden|Streets of New Capenna|250|R||Land - Mountain Forest Plains|||({T}: Add {R}, {G}, or {W}.)$Jetmir's Garden enters the battlefield tapped.$Cycling {3}|