1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-03-20 09:19:21 -09:00

[SNC] Implemented Errant, Street Artist

This commit is contained in:
Evan Kranzler 2022-04-09 19:19:33 -04:00
parent 2b00797cff
commit df5cddf157
3 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,78 @@
package mage.cards.e;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CopyTargetSpellEffect;
import mage.abilities.keyword.DefenderAbility;
import mage.abilities.keyword.FlashAbility;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.target.TargetSpell;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ErrantStreetArtist extends CardImpl {
private static final FilterSpell filter = new FilterSpell("spell you control that wasn't cast");
static {
filter.add(TargetController.YOU.getControllerPredicate());
filter.add(ErrantStreetArtistPredicate.instance);
}
public ErrantStreetArtist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(0);
this.toughness = new MageInt(3);
// Flash
this.addAbility(FlashAbility.getInstance());
// Defender
this.addAbility(DefenderAbility.getInstance());
// Haste
this.addAbility(HasteAbility.getInstance());
// {1}{U}, {T}: Copy target spell you control that wasn't cast. You may choose new targets for the copy.
Ability ability = new SimpleActivatedAbility(new CopyTargetSpellEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetSpell(filter));
this.addAbility(ability);
}
private ErrantStreetArtist(final ErrantStreetArtist card) {
super(card);
}
@Override
public ErrantStreetArtist copy() {
return new ErrantStreetArtist(this);
}
}
enum ErrantStreetArtistPredicate implements Predicate<StackObject> {
instance;
@Override
public boolean apply(StackObject input, Game game) {
return input.isCopy();
}
}

View file

@ -39,6 +39,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet {
cards.add(new SetCardInfo("Cut of the Profits", 72, Rarity.RARE, mage.cards.c.CutOfTheProfits.class));
cards.add(new SetCardInfo("Devilish Valet", 105, Rarity.RARE, mage.cards.d.DevilishValet.class));
cards.add(new SetCardInfo("Disciplined Duelist", 182, Rarity.UNCOMMON, mage.cards.d.DisciplinedDuelist.class));
cards.add(new SetCardInfo("Errant, Street Artist", 41, Rarity.RARE, mage.cards.e.ErrantStreetArtist.class));
cards.add(new SetCardInfo("Faerie Vandal", 44, Rarity.UNCOMMON, mage.cards.f.FaerieVandal.class));
cards.add(new SetCardInfo("Fight Rigging", 430, Rarity.RARE, mage.cards.f.FightRigging.class));
cards.add(new SetCardInfo("Forest", 270, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));

View file

@ -43923,6 +43923,7 @@ Mage's Attendant|Streets of New Capenna|21|U|{2}{W}|Creature - Cat Rogue|3|2|Whe
Mysterious Limousine|Streets of New Capenna|22|R|{3}{W}{W}|Artifact - Vehicle|4|4|Whenever Mysterious Limousine enters the battlefield or attacks, exile up to one other target creature until Mysterious Limousine leaves the battlefield. If a creature is put into exile this way, return each other card exiled with Mysterious Limousine to the battlefield under its owner's control.$Crew 2|
Rumor Gatherer|Streets of New Capenna|29|U|{1}{W}{W}|Creature - Elf Wizard|2|1|Alliance — Whenever another creature enters the battlefield under your control, scry 1. If this is the second time this ability has resolved this turn, draw a card instead.|
Cut Your Losses|Streets of New Capenna|38|R|{4}{U}{U}|Sorcery|||Casualty 2$Target player mills half their library, rounded down.|
Errant, Street Artist|Streets of New Capenna|41|R|{U}|Legendary Creature - Human Rogue|0|3|Flash$Defender, haste${1}{U}, {T}: Copy target spell you control that wasn't cast. You may choose new targets for the copy.|
Faerie Vandal|Streets of New Capenna|44|U|{1}{U}|Creature - Faerie Rogue|1|2|Flash$Flying$Whenever you draw your second card each turn, put a +1/+1 counter on Faerie Vandal.|
Ledger Shredder|Streets of New Capenna|46|R|{1}{U}|Creature - Bird Advisor|1|3|Flying$Whenever a player casts their second spell each turn, Ledger Shredder connives.|
A Little Chat|Streets of New Capenna|47|U|{1}{U}|Instant|||Casualty 1$Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library.|