Implemented Invade the City

This commit is contained in:
Evan Kranzler 2019-03-31 12:43:00 -04:00
parent f6147f2280
commit ffef19fe43
3 changed files with 38 additions and 2 deletions

View file

@ -0,0 +1,35 @@
package mage.cards.i;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.keyword.AmassEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterInstantOrSorceryCard;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class InvadeTheCity extends CardImpl {
public static final FilterInstantOrSorceryCard filter
= new FilterInstantOrSorceryCard("instant and sorcery cards");
public InvadeTheCity(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}{R}");
// Amass X, where X is the number of instant and sorcery cards in your graveyard.
this.getSpellAbility().addEffect(new AmassEffect(new CardsInControllerGraveyardCount(filter)));
}
private InvadeTheCity(final InvadeTheCity card) {
super(card);
}
@Override
public InvadeTheCity copy() {
return new InvadeTheCity(this);
}
}

View file

@ -28,6 +28,7 @@ public final class WarOfTheSpark extends ExpansionSet {
cards.add(new SetCardInfo("Forest", 263, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Forest", 264, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Herald of the Dreadhorde", 93, Rarity.COMMON, mage.cards.h.HeraldOfTheDreadhorde.class));
cards.add(new SetCardInfo("Invade the City", 201, Rarity.UNCOMMON, mage.cards.i.InvadeTheCity.class));
cards.add(new SetCardInfo("Island", 253, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Island", 254, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Island", 255, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));

View file

@ -37,7 +37,7 @@ public class AmassEffect extends OneShotEffect {
public AmassEffect(int amassNumber) {
this(new StaticValue(amassNumber));
staticText = "Amass " + amassNumber + " <i>(Put " + CardUtil.numberToText(amassNumber) +
staticText = "Amass " + amassNumber + ". <i>(Put " + CardUtil.numberToText(amassNumber) +
" +1/+1 counter" + (amassNumber > 1 ? "s" : "") +
"on an Army you control. If you dont control one, " +
"create a 0/0 black Zombie Army creature token first.)</i>";
@ -46,7 +46,7 @@ public class AmassEffect extends OneShotEffect {
public AmassEffect(DynamicValue amassNumber) {
super(Outcome.BoostCreature);
this.amassNumber = amassNumber;
staticText = "Amass " + amassNumber.getMessage() + " <i>(Put X +1/+1 counters" +
staticText = "Amass X, where X is the number of " + amassNumber.getMessage() + ". <i>(Put X +1/+1 counters" +
"on an Army you control. If you dont control one, " +
"create a 0/0 black Zombie Army creature token first.)</i>";
}