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:
parent
2b00797cff
commit
df5cddf157
3 changed files with 80 additions and 0 deletions
78
Mage.Sets/src/mage/cards/e/ErrantStreetArtist.java
Normal file
78
Mage.Sets/src/mage/cards/e/ErrantStreetArtist.java
Normal 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();
|
||||
}
|
||||
}
|
|
@ -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));
|
||||
|
|
|
@ -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.|
|
||||
|
|
Loading…
Add table
Reference in a new issue