Amass type (#3222)

* AmassEffect: add Type parameter

* fix AmassAi

* update editions tokenscripts

* Update AmassEffect.java

early return if no Army could be created
This commit is contained in:
Hans Mackowiak
2023-06-09 11:56:46 +02:00
committed by GitHub
parent 5d54e0f1f2
commit 8f1100dff3
36 changed files with 118 additions and 91 deletions

View File

@@ -3,6 +3,7 @@ package forge.ai.ability;
import java.util.Map; import java.util.Map;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCard;
@@ -31,8 +32,9 @@ public class AmassAi extends SpellAbilityAi {
if (!aiArmies.isEmpty()) { if (!aiArmies.isEmpty()) {
return Iterables.any(aiArmies, CardPredicates.canReceiveCounters(CounterEnumType.P1P1)); return Iterables.any(aiArmies, CardPredicates.canReceiveCounters(CounterEnumType.P1P1));
} }
final String tokenScript = "b_0_0_zombie_army"; final String tokenScript = "b_0_0_army";
final int amount = AbilityUtils.calculateAmount(host, sa.getParamOrDefault("Num", "1"), sa); final int amount = AbilityUtils.calculateAmount(host, sa.getParamOrDefault("Num", "1"), sa);
final String type = sa.getParam("Type");
Card token = TokenInfo.getProtoType(tokenScript, sa, ai, false); Card token = TokenInfo.getProtoType(tokenScript, sa, ai, false);
@@ -42,6 +44,9 @@ public class AmassAi extends SpellAbilityAi {
token.setController(ai, 0); token.setController(ai, 0);
token.setLastKnownZone(ai.getZone(ZoneType.Battlefield)); token.setLastKnownZone(ai.getZone(ZoneType.Battlefield));
token.setCreatureTypes(Lists.newArrayList(type, "Army"));
token.setName(type + " Army Token");
token.setTokenSpawningAbility(sa);
boolean result = true; boolean result = true;

View File

@@ -5,8 +5,10 @@ import java.util.Map;
import org.apache.commons.lang3.mutable.MutableBoolean; import org.apache.commons.lang3.mutable.MutableBoolean;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import forge.card.CardType;
import forge.game.Game; import forge.game.Game;
import forge.game.GameEntityCounterTable; import forge.game.GameEntityCounterTable;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
@@ -17,6 +19,7 @@ import forge.game.card.CardPredicates;
import forge.game.card.CardZoneTable; import forge.game.card.CardZoneTable;
import forge.game.card.CounterEnumType; import forge.game.card.CounterEnumType;
import forge.game.card.CounterType; import forge.game.card.CounterType;
import forge.game.card.token.TokenInfo;
import forge.game.event.GameEventCombatChanged; import forge.game.event.GameEventCombatChanged;
import forge.game.event.GameEventTokenCreated; import forge.game.event.GameEventTokenCreated;
import forge.game.player.Player; import forge.game.player.Player;
@@ -33,12 +36,14 @@ public class AmassEffect extends TokenEffectBase {
final StringBuilder sb = new StringBuilder("Amass "); final StringBuilder sb = new StringBuilder("Amass ");
final Card card = sa.getHostCard(); final Card card = sa.getHostCard();
final int amount = AbilityUtils.calculateAmount(card, sa.getParamOrDefault("Num", "1"), sa); final int amount = AbilityUtils.calculateAmount(card, sa.getParamOrDefault("Num", "1"), sa);
final String type = sa.getParam("Type");
sb.append(amount).append(" (Put "); sb.append(CardType.getPluralType(type)).append(" ").append(amount).append(" (Put ");
sb.append(Lang.nounWithNumeral(amount, "+1/+1 counter")); sb.append(Lang.nounWithNumeral(amount, "+1/+1 counter"));
sb.append("on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)"); // TODO fix reminder after CR
sb.append("on an Army you control. If you don't control one, create a 0/0 black " + type + " Army creature token first.)");
return sb.toString(); return sb.toString();
} }
@@ -52,13 +57,20 @@ public class AmassEffect extends TokenEffectBase {
final int amount = AbilityUtils.calculateAmount(card, sa.getParamOrDefault("Num", "1"), sa); final int amount = AbilityUtils.calculateAmount(card, sa.getParamOrDefault("Num", "1"), sa);
final boolean remember = sa.hasParam("RememberAmass"); final boolean remember = sa.hasParam("RememberAmass");
final String type = sa.getParam("Type");
// create army token if needed // create army token if needed
if (!Iterables.any(activator.getCardsIn(ZoneType.Battlefield), CardPredicates.isType("Army"))) { if (!Iterables.any(activator.getCardsIn(ZoneType.Battlefield), CardPredicates.isType("Army"))) {
CardZoneTable triggerList = new CardZoneTable(); CardZoneTable triggerList = new CardZoneTable();
MutableBoolean combatChanged = new MutableBoolean(false); MutableBoolean combatChanged = new MutableBoolean(false);
makeTokenTable(makeTokenTableInternal(activator, "b_0_0_zombie_army", 1, sa), false, triggerList, combatChanged, sa); final Card result = TokenInfo.getProtoType("b_0_0_army", sa, activator, false);
// need to alter the token to add the Type from the Parameter
result.setCreatureTypes(Lists.newArrayList(type, "Army"));
result.setName(type + " Army Token");
result.setTokenSpawningAbility(sa);
makeTokenTable(makeTokenTableInternal(activator, result, 1), false, triggerList, combatChanged, sa);
triggerList.triggerChangesZoneAll(game, sa); triggerList.triggerChangesZoneAll(game, sa);
triggerList.clear(); triggerList.clear();
@@ -78,15 +90,22 @@ public class AmassEffect extends TokenEffectBase {
CardCollectionView tgtCards = CardLists.getType(activator.getCardsIn(ZoneType.Battlefield), "Army"); CardCollectionView tgtCards = CardLists.getType(activator.getCardsIn(ZoneType.Battlefield), "Army");
tgtCards = pc.chooseCardsForEffect(tgtCards, sa, Localizer.getInstance().getMessage("lblChooseAnArmy"), 1, 1, false, params); tgtCards = pc.chooseCardsForEffect(tgtCards, sa, Localizer.getInstance().getMessage("lblChooseAnArmy"), 1, 1, false, params);
if (tgtCards.isEmpty()) {
return;
}
GameEntityCounterTable table = new GameEntityCounterTable(); GameEntityCounterTable table = new GameEntityCounterTable();
for (final Card tgtCard : tgtCards) { for (final Card tgtCard : tgtCards) {
tgtCard.addCounter(CounterEnumType.P1P1, amount, activator, table); tgtCard.addCounter(CounterEnumType.P1P1, amount, activator, table);
if (remember) { if (remember) {
card.addRemembered(tgtCard); card.addRemembered(tgtCard);
} }
} }
table.replaceCounterEffect(game, sa, true); table.replaceCounterEffect(game, sa, true);
// change type after counters
long ts = game.getNextTimestamp();
for (final Card tgtCard : tgtCards) {
tgtCard.addChangedCardTypes(CardType.parse(type, true), null, false, false, false, false, false, false, false, false, ts, 0, true, false);
}
} }
} }

View File

@@ -52,15 +52,18 @@ public abstract class TokenEffectBase extends SpellAbilityEffect {
} }
protected TokenCreateTable makeTokenTableInternal(Player owner, String script, final int finalAmount, final SpellAbility sa) { protected TokenCreateTable makeTokenTableInternal(Player owner, String script, final int finalAmount, final SpellAbility sa) {
TokenCreateTable tokenTable = new TokenCreateTable();
final Card result = TokenInfo.getProtoType(script, sa, owner, false); final Card result = TokenInfo.getProtoType(script, sa, owner, false);
if (result == null) { if (result == null) {
throw new RuntimeException("don't find Token for TokenScript: " + script); throw new RuntimeException("don't find Token for TokenScript: " + script);
} }
result.setTokenSpawningAbility(sa); result.setTokenSpawningAbility(sa);
tokenTable.put(owner, result, finalAmount); return makeTokenTableInternal(owner, result, finalAmount);
}
protected TokenCreateTable makeTokenTableInternal(Player owner, Card result, final int finalAmount) {
TokenCreateTable tokenTable = new TokenCreateTable();
tokenTable.put(owner, result, finalAmount);
return tokenTable; return tokenTable;
} }

View File

@@ -3,6 +3,6 @@ ManaCost:2 BR BR
Types:Legendary Planeswalker Angrath Types:Legendary Planeswalker Angrath
Loyalty:5 Loyalty:5
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddKeyword$ Menace | Description$ Creatures you control have menace. S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddKeyword$ Menace | Description$ Creatures you control have menace.
A:AB$ Amass | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Num$ 2 | SpellDescription$ Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:AB$ Amass | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Type$ Zombie | Num$ 2 | SpellDescription$ Amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
Oracle:Creatures you control have menace.\n[-2]: Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Creatures you control have menace.\n[-2]: Amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -3,8 +3,8 @@ ManaCost:2 U
Types:Creature Zombie Bird Warrior Types:Creature Zombie Bird Warrior
PT:2/2 PT:2/2
K:Flying K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Flying\nWhen Aven Eternal enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Flying\nWhen Aven Eternal enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,8 +1,8 @@
Name:Bleeding Edge Name:Bleeding Edge
ManaCost:1 B B ManaCost:1 B B
Types:Sorcery Types:Sorcery
A:SP$ Pump | Cost$ 1 B B | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | SubAbility$ DBAmass | SpellDescription$ Up to one target creature gets -2/-2 until end of turn. Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Pump | Cost$ 1 B B | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | SubAbility$ DBAmass | SpellDescription$ Up to one target creature gets -2/-2 until end of turn. Amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 2 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 2
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Up to one target creature gets -2/-2 until end of turn. Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Up to one target creature gets -2/-2 until end of turn. Amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,8 +1,8 @@
Name:Callous Dismissal Name:Callous Dismissal
ManaCost:1 U ManaCost:1 U
Types:Sorcery Types:Sorcery
A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBAmass | SpellDescription$ Return target nonland permanent to its owner's hand. Amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBAmass | SpellDescription$ Return target nonland permanent to its owner's hand. Amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Return target nonland permanent to its owner's hand.\nAmass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Return target nonland permanent to its owner's hand.\nAmass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -2,9 +2,9 @@ Name:Commence the Endgame
ManaCost:4 U U ManaCost:4 U U
Types:Instant Types:Instant
K:This spell can't be countered. K:This spell can't be countered.
A:SP$ Draw | Cost$ 4 U U | NumCards$ 2 | SpellDescription$ Draw two cards, then amass X, where X is the number of cards in your hand. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) | SubAbility$ DBAmass A:SP$ Draw | Cost$ 4 U U | NumCards$ 2 | SpellDescription$ Draw two cards, then amass Zombies X, where X is the number of cards in your hand. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) | SubAbility$ DBAmass
SVar:DBAmass:DB$ Amass | Num$ X SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ X
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
SVar:X:Count$InYourHand SVar:X:Count$InYourHand
Oracle:This spell can't be countered.\nDraw two cards, then amass X, where X is the number of cards in your hand. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:This spell can't be countered.\nDraw two cards, then amass Zombies X, where X is the number of cards in your hand. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,8 +1,8 @@
Name:Crush Dissent Name:Crush Dissent
ManaCost:3 U ManaCost:3 U
Types:Instant Types:Instant
A:SP$ Counter | Cost$ 3 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 2 | SubAbility$ DBAmass | SpellDescription$ Counter target spell unless its controller pays {2}. Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Counter | Cost$ 3 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 2 | SubAbility$ DBAmass | SpellDescription$ Counter target spell unless its controller pays {2}. Amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 2 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 2
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
Oracle:Counter target spell unless its controller pays {2}.\nAmass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Counter target spell unless its controller pays {2}.\nAmass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,12 +1,12 @@
Name:Dreadhorde Invasion Name:Dreadhorde Invasion
ManaCost:1 B ManaCost:1 B
Types:Enchantment Types:Enchantment
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ DBLife | TriggerDescription$ At the beginning of your upkeep, you lose 1 life and amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ DBLife | TriggerDescription$ At the beginning of your upkeep, you lose 1 life and amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBAmass SVar:DBLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBAmass
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
T:Mode$ Attacks | ValidCard$ Creature.Zombie+token+YouCtrl+powerGE6 | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn. T:Mode$ Attacks | ValidCard$ Creature.Zombie+token+YouCtrl+powerGE6 | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
SVar:AICastPreference:NeverCastIfLifeBelow$ 4 SVar:AICastPreference:NeverCastIfLifeBelow$ 4
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:At the beginning of your upkeep, you lose 1 life and amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nWhenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn. Oracle:At the beginning of your upkeep, you lose 1 life and amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nWhenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn.

View File

@@ -2,10 +2,10 @@ Name:Dreadhorde Twins
ManaCost:3 R ManaCost:3 R
Types:Creature Zombie Jackal Warrior Types:Creature Zombie Jackal Warrior
PT:2/2 PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 2 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 2
S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Trample | Description$ Zombie tokens you control have trample. S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Trample | Description$ Zombie tokens you control have trample.
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Dreadhorde Twins enters the battlefield, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have trample. Oracle:When Dreadhorde Twins enters the battlefield, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have trample.

View File

@@ -1,11 +1,11 @@
Name:Enter the God-Eternals Name:Enter the God-Eternals
ManaCost:2 U U B ManaCost:2 U U B
Types:Sorcery Types:Sorcery
A:SP$ DealDamage | Cost$ 2 U U B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 4 damage to target creature and you gain life equal to the damage dealt this way. Target player mills four cards. Amass 4. (Put four +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) | StackDescription$ CARDNAME deals 4 damage to target creature. A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 4 damage to target creature and you gain life equal to the damage dealt this way. Target player mills four cards. Amass Zombies 4. (Put four +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) | StackDescription$ CARDNAME deals 4 damage to target creature.
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBMill | StackDescription$ You gain life equal to the damage dealt this way. SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBMill | StackDescription$ You gain life equal to the damage dealt this way.
SVar:X:Count$TotalDamageDoneByThisTurn SVar:X:Count$TotalDamageDoneByThisTurn
SVar:DBMill:DB$ Mill | NumCards$ 4 | ValidTgts$ Player | TgtPrompt$ Choose target player | SubAbility$ DBAmass | StackDescription$ Target player mills four cards. SVar:DBMill:DB$ Mill | NumCards$ 4 | ValidTgts$ Player | TgtPrompt$ Choose target player | SubAbility$ DBAmass | StackDescription$ Target player mills four cards.
SVar:DBAmass:DB$ Amass | Num$ 4 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 4
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token|LifeGain|Graveyard DeckHas:Ability$Amass|Counters|Token|LifeGain|Graveyard
Oracle:Enter the God-Eternals deals 4 damage to target creature and you gain life equal to the damage dealt this way. Target player mills four cards. Amass 4. (Put four +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Enter the God-Eternals deals 4 damage to target creature and you gain life equal to the damage dealt this way. Target player mills four cards. Amass Zombies 4. (Put four +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -3,8 +3,8 @@ ManaCost:4 U
Types:Creature Zombie Wizard Types:Creature Zombie Wizard
PT:3/3 PT:3/3
S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Flying | Description$ Zombie tokens you control have flying. S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Flying | Description$ Zombie tokens you control have flying.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 2 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 2
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Eternal Skylord enters the battlefield, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have flying. Oracle:When Eternal Skylord enters the battlefield, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have flying.

View File

@@ -3,8 +3,8 @@ ManaCost:1 U B
Types:Creature Zombie Wizard Types:Creature Zombie Wizard
PT:1/4 PT:1/4
S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Hexproof & Menace | Description$ Zombie tokens you control have hexproof and menace. S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Hexproof & Menace | Description$ Zombie tokens you control have hexproof and menace.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Gleaming Overseer enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have hexproof and menace. Oracle:When Gleaming Overseer enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have hexproof and menace.

View File

@@ -3,8 +3,8 @@ ManaCost:R
Types:Creature Zombie Warrior Types:Creature Zombie Warrior
PT:1/1 PT:1/1
K:First Strike K:First Strike
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME dies, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME dies, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:First strike\nWhen Grim Initiate dies, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:First strike\nWhen Grim Initiate dies, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -2,8 +2,8 @@ Name:Herald of the Dreadhorde
ManaCost:3 B ManaCost:3 B
Types:Creature Zombie Warrior Types:Creature Zombie Warrior
PT:3/2 PT:3/2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME dies, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME dies, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 2 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 2
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Herald of the Dreadhorde dies, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:When Herald of the Dreadhorde dies, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,8 +1,8 @@
Name:Honor the God-Pharaoh Name:Honor the God-Pharaoh
ManaCost:2 R ManaCost:2 R
Types:Sorcery Types:Sorcery
A:SP$ Draw | Cost$ 2 R Discard<1/Card> | CostDesc$ As an additional cost to cast this spell, discard a card. | NumCards$ 2 | Defined$ You | SubAbility$ DBAmass | SpellDescription$ Draw two cards. Amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Draw | Cost$ 2 R Discard<1/Card> | CostDesc$ As an additional cost to cast this spell, discard a card. | NumCards$ 2 | Defined$ You | SubAbility$ DBAmass | SpellDescription$ Draw two cards. Amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHas:Ability$Discard|Amass|Counters|Token DeckHas:Ability$Discard|Amass|Counters|Token
DeckHints:Keyword$Madness & Ability$Delirium|Amass & Type$Zombie DeckHints:Keyword$Madness & Ability$Delirium|Amass & Type$Zombie
Oracle:As an additional cost to cast this spell, discard a card.\nDraw two cards. Amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:As an additional cost to cast this spell, discard a card.\nDraw two cards. Amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,10 +1,10 @@
Name:Invade the City Name:Invade the City
ManaCost:1 U R ManaCost:1 U R
Types:Sorcery Types:Sorcery
A:SP$ Amass | Cost$ 1 U R | Num$ X | SpellDescription$ Amass X, where X is the number of instant and sorcery cards in your graveyard. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Amass | Type$ Zombie | Num$ X | SpellDescription$ Amass Zombies X, where X is the number of instant and sorcery cards in your graveyard. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
DeckNeeds:Type$Instant|Sorcery DeckNeeds:Type$Instant|Sorcery
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
SVar:X:Count$ValidGraveyard Instant.YouOwn,Sorcery.YouOwn SVar:X:Count$ValidGraveyard Instant.YouOwn,Sorcery.YouOwn
SVar:NeedsToPlayVar:X GE1 SVar:NeedsToPlayVar:X GE1
Oracle:Amass X, where X is the number of instant and sorcery cards in your graveyard. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Amass Zombies X, where X is the number of instant and sorcery cards in your graveyard. (Put X +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -2,8 +2,8 @@ Name:Invading Manticore
ManaCost:5 R ManaCost:5 R
Types:Creature Zombie Manticore Types:Creature Zombie Manticore
PT:4/5 PT:4/5
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 2 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 2
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Invading Manticore enters the battlefield, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:When Invading Manticore enters the battlefield, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -2,8 +2,8 @@ Name:Lazotep Chancellor
ManaCost:U B ManaCost:U B
Types:Creature Zombie Wizard Types:Creature Zombie Wizard
PT:1/3 PT:1/3
T:Mode$ Discarded | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigAmass | TriggerDescription$ Whenever you discard a card, you may pay {1}. If you do, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ Discarded | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigAmass | TriggerDescription$ Whenever you discard a card, you may pay {1}. If you do, amass zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:TrigAmass:AB$ Amass | Cost$ 1 | Num$ 2 SVar:TrigAmass:AB$ Amass | Cost$ 1 | Type$ Zombie | Num$ 2
DeckHints:Ability$Amass|Discard & Type$Zombie DeckHints:Ability$Amass|Discard & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Whenever you discard a card, you may pay {1}. If you do, amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Whenever you discard a card, you may pay {1}. If you do, amass Zombies 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,9 +1,9 @@
Name:Lazotep Plating Name:Lazotep Plating
ManaCost:1 U ManaCost:1 U
Types:Instant Types:Instant
A:SP$ Amass | Cost$ 1 U | Num$ 1 | SubAbility$ DBPump | SpellDescription$ Amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Amass | Type$ Zombie | Num$ 1 | SubAbility$ DBPump | SpellDescription$ Amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBPump:DB$ Pump | Defined$ You | KW$ Hexproof | SubAbility$ DBPumpAll | SpellDescription$ You and permanents you control gain hexproof until end of turn. (You and they can't be the targets of spells or abilities your opponents control.) SVar:DBPump:DB$ Pump | Defined$ You | KW$ Hexproof | SubAbility$ DBPumpAll | SpellDescription$ You and permanents you control gain hexproof until end of turn. (You and they can't be the targets of spells or abilities your opponents control.)
SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Permanent.YouCtrl | KW$ Hexproof SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Permanent.YouCtrl | KW$ Hexproof
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nYou and permanents you control gain hexproof until end of turn. (You and they can't be the targets of spells or abilities your opponents control.) Oracle:Amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nYou and permanents you control gain hexproof until end of turn. (You and they can't be the targets of spells or abilities your opponents control.)

View File

@@ -2,8 +2,8 @@ Name:Lazotep Reaver
ManaCost:1 B ManaCost:1 B
Types:Creature Zombie Beast Types:Creature Zombie Beast
PT:1/2 PT:1/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Lazotep Reaver enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:When Lazotep Reaver enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -1,7 +1,7 @@
Name:Relentless Advance Name:Relentless Advance
ManaCost:3 U ManaCost:3 U
Types:Sorcery Types:Sorcery
A:SP$ Amass | Cost$ 3 U | Num$ 3 | SpellDescription$ Amass 3. (Put three +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Amass | Type$ Zombie | Num$ 3 | SpellDescription$ Amass Zombies 3. (Put three +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Amass 3. (Put three +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Amass Zombies 3. (Put three +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -2,7 +2,7 @@ Name:Toll of the Invasion
ManaCost:2 B ManaCost:2 B
Types:Sorcery Types:Sorcery
A:SP$ Discard | Cost$ 2 B | ValidTgts$ Opponent | NumCards$ 1 | DiscardValid$ Card.nonLand | Mode$ RevealYouChoose | SubAbility$ DBAmass | SpellDescription$ Target opponent reveals their hand. You choose a nonland card from it. That player discards that card. A:SP$ Discard | Cost$ 2 B | ValidTgts$ Opponent | NumCards$ 1 | DiscardValid$ Card.nonLand | Mode$ RevealYouChoose | SubAbility$ DBAmass | SpellDescription$ Target opponent reveals their hand. You choose a nonland card from it. That player discards that card.
SVar:DBAmass:DB$ Amass | Num$ 1 | SpellDescription$ Amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1 | SpellDescription$ Amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
Oracle:Target opponent reveals their hand. You choose a nonland card from it. That player discards that card.\nAmass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Target opponent reveals their hand. You choose a nonland card from it. That player discards that card.\nAmass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -3,8 +3,8 @@ ManaCost:2 B
Types:Creature Zombie Wizard Types:Creature Zombie Wizard
PT:1/1 PT:1/1
S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Deathtouch | Description$ Zombie tokens you control have deathtouch. S:Mode$ Continuous | Affected$ Zombie.token+YouCtrl | AddKeyword$ Deathtouch | Description$ Zombie tokens you control have deathtouch.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAmass | TriggerDescription$ When CARDNAME enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Type$ Zombie | Num$ 1
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:When Vizier of the Scorpion enters the battlefield, amass 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have deathtouch. Oracle:When Vizier of the Scorpion enters the battlefield, amass Zombies 1. (Put a +1/+1 counter on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)\nZombie tokens you control have deathtouch.

View File

@@ -1,10 +1,10 @@
Name:Widespread Brutality Name:Widespread Brutality
ManaCost:1 B R R ManaCost:1 B R R
Types:Sorcery Types:Sorcery
A:SP$ Amass | Cost$ 1 B R R | Num$ 2 | RememberAmass$ True | SubAbility$ IgnitionDamage | SpellDescription$ Amass 2, then the Army you amassed deals damage equal to its power to each non-Army creature. (To amass 2, put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) A:SP$ Amass | Type$ Zombie | Num$ 2 | RememberAmass$ True | SubAbility$ IgnitionDamage | SpellDescription$ Amass Zombies 2, then the Army you amassed deals damage equal to its power to each non-Army creature. (To amass Zombies 2, put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
SVar:IgnitionDamage:DB$ DamageAll | ValidCards$ Creature.nonArmy | ValidDescription$ each non-Army creature. | NumDmg$ X | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | DamageSource$ Remembered | SubAbility$ DBCleanup SVar:IgnitionDamage:DB$ DamageAll | ValidCards$ Creature.nonArmy | ValidDescription$ each non-Army creature. | NumDmg$ X | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | DamageSource$ Remembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$CardPower SVar:X:Remembered$CardPower
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token
Oracle:Amass 2, then the Army you amassed deals damage equal to its power to each non-Army creature. (To amass 2, put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) Oracle:Amass Zombies 2, then the Army you amassed deals damage equal to its power to each non-Army creature. (To amass Zombies 2, put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)

View File

@@ -195,7 +195,7 @@ ScryfallCode=MIC
187 U Unclaimed Territory @Dimitar Marinski 187 U Unclaimed Territory @Dimitar Marinski
[tokens] [tokens]
b_0_0_zombie_army b_0_0_army
b_2_2_zombie b_2_2_zombie
b_2_2_zombie_decayed b_2_2_zombie_decayed
c_0_1_eldrazi_spawn_sac c_0_1_eldrazi_spawn_sac

View File

@@ -592,7 +592,7 @@ ScryfallCode=MH2
[tokens] [tokens]
b_0_0_phyrexian_germ b_0_0_phyrexian_germ
b_0_0_zombie_army b_0_0_army
b_2_2_zombie b_2_2_zombie
bg_1_1_insect bg_1_1_insect
c_0_0_a_construct_total_artifacts c_0_0_a_construct_total_artifacts

View File

@@ -360,7 +360,7 @@ ScryfallCode=SCD
352 L Forest @Titus Lunter 352 L Forest @Titus Lunter
[tokens] [tokens]
b_0_0_zombie_army b_0_0_army
b_2_2_zombie b_2_2_zombie
b_2_2_zombie_knight_menace b_2_2_zombie_knight_menace
b_x_x_demon_flying b_x_x_demon_flying

View File

@@ -330,9 +330,9 @@ A221 R A-Teferi, Time Raveler @Chris Rallis
[tokens] [tokens]
all_2_2_citizen all_2_2_citizen
b_0_0_zombie_army b_0_0_army
b_0_0_zombie_army b_0_0_army
b_0_0_zombie_army b_0_0_army
b_1_1_assassin_deathtouch_pwdestroy b_1_1_assassin_deathtouch_pwdestroy
b_2_2_zombie b_2_2_zombie
b_4_4_zombie_warrior_vigilance b_4_4_zombie_warrior_vigilance

View File

@@ -30,12 +30,12 @@ b_0_0_phyrexian_germ.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phy
b_0_0_phyrexian_germ_moc.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phyrexian_germ_moc.jpg b_0_0_phyrexian_germ_moc.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phyrexian_germ_moc.jpg
b_0_0_phyrexian_germ_nec.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phyrexian_germ_nec.jpg b_0_0_phyrexian_germ_nec.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phyrexian_germ_nec.jpg
b_0_0_phyrexian_germ_onc.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phyrexian_germ_onc.jpg b_0_0_phyrexian_germ_onc.jpg https://downloads.cardforge.org/images/tokens/b_0_0_phyrexian_germ_onc.jpg
b_0_0_zombie_army.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army.jpg b_0_0_army.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army.jpg
b_0_0_zombie_army2_war.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army2_war.jpg b_0_0_army2_war.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army2_war.jpg
b_0_0_zombie_army3_war.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army3_war.jpg b_0_0_army3_war.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army3_war.jpg
b_0_0_zombie_army_mh2.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army_mh2.jpg b_0_0_army_mh2.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army_mh2.jpg
b_0_0_zombie_army_mic.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army_mic.jpg b_0_0_army_mic.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army_mic.jpg
b_0_0_zombie_army_war.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army_war.jpg b_0_0_army_war.jpg https://downloads.cardforge.org/images/tokens/b_0_0_zombie_army_war.jpg
b_0_1_cleric.jpg https://downloads.cardforge.org/images/tokens/b_0_1_cleric.jpg b_0_1_cleric.jpg https://downloads.cardforge.org/images/tokens/b_0_1_cleric.jpg
b_0_1_cleric_dom.jpg https://downloads.cardforge.org/images/tokens/b_0_1_cleric_dom.jpg b_0_1_cleric_dom.jpg https://downloads.cardforge.org/images/tokens/b_0_1_cleric_dom.jpg
b_0_1_insect.jpg https://downloads.cardforge.org/images/tokens/b_0_1_insect.jpg b_0_1_insect.jpg https://downloads.cardforge.org/images/tokens/b_0_1_insect.jpg

View File

@@ -13,6 +13,6 @@ activeplayer=human
activephase=MAIN1 activephase=MAIN1
humanhand=Bleeding Edge;Maximize Altitude;Price of Betrayal;Enter the God-Eternals humanhand=Bleeding Edge;Maximize Altitude;Price of Betrayal;Enter the God-Eternals
humanlibrary=Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt humanlibrary=Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt;Opt
humanbattlefield=Tetsuko Umezawa, Fugitive;Teferi, Time Raveler|Counters:LOYALTY=3;Yarok's Fenlurker;Watery Grave|NoETBTrigs;Watery Grave|NoETBTrigs;Watery Grave|NoETBTrigs;Hallowed Fountain|NoETBTrigs;Hallowed Fountain|NoETBTrigs;Hallowed Fountain|NoETBTrigs;t:Zombie Army,P:0,T:0,Cost:no cost,Color:B,Types:Creature-Zombie-Army,Keywords:Trample,Image:b_0_0_zombie_army3_war|Counters:P1P1=2 humanbattlefield=Tetsuko Umezawa, Fugitive;Teferi, Time Raveler|Counters:LOYALTY=3;Yarok's Fenlurker;Watery Grave|NoETBTrigs;Watery Grave|NoETBTrigs;Watery Grave|NoETBTrigs;Hallowed Fountain|NoETBTrigs;Hallowed Fountain|NoETBTrigs;Hallowed Fountain|NoETBTrigs;t:Zombie Army,P:0,T:0,Cost:no cost,Color:B,Types:Creature-Zombie-Army,Keywords:Trample,Image:b_0_0_army3_war|Counters:P1P1=2
aibattlefield=Shifting Ceratops;Apostle of Purifying Light;Hungering Hydra|Counters:P1P1=4;Ashes of the Abhorrent aibattlefield=Shifting Ceratops;Apostle of Purifying Light;Hungering Hydra|Counters:P1P1=4;Ashes of the Abhorrent
aipersistentmana=C C G aipersistentmana=C C G

View File

@@ -14,7 +14,7 @@ activeplayer=human
activephase=MAIN1 activephase=MAIN1
humanhand=Eternal Skylord;Clifftop Retreat;Maximize Velocity;Deputy of Detention;Act of Treason humanhand=Eternal Skylord;Clifftop Retreat;Maximize Velocity;Deputy of Detention;Act of Treason
humanlibrary=Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate humanlibrary=Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate
humanbattlefield=Eternal Skylord;t:Zombie Army,P:0,T:0,Cost:no cost,Color:B,Types:Creature-Zombie-Army,Keywords:Flying,Image:b_0_0_zombie_army|Counters:P1P1=4;Benalish Marshal;Mentor of the Meek;Azorius Guildgate;Azorius Guildgate;Azorius Guildgate;Azorius Guildgate;Mountain;Mountain;Mountain;Mountain;Mountain;Mountain;Mountain humanbattlefield=Eternal Skylord;t:Zombie Army,P:0,T:0,Cost:no cost,Color:B,Types:Creature-Zombie-Army,Keywords:Flying,Image:b_0_0_army|Counters:P1P1=4;Benalish Marshal;Mentor of the Meek;Azorius Guildgate;Azorius Guildgate;Azorius Guildgate;Azorius Guildgate;Mountain;Mountain;Mountain;Mountain;Mountain;Mountain;Mountain
aihand=Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate aihand=Boros Guildgate;Boros Guildgate;Boros Guildgate;Boros Guildgate
aibattlefield=Chamber Sentry|Counters:P1P1=5;Cold-Water Snapper;Cold-Water Snapper;Scuttlegator;Kumena's Speaker;Tishana, Voice of Thunder aibattlefield=Chamber Sentry|Counters:P1P1=5;Cold-Water Snapper;Cold-Water Snapper;Scuttlegator;Kumena's Speaker;Tishana, Voice of Thunder
aipersistentmana=C C C C C aipersistentmana=C C C C C

View File

@@ -12,5 +12,5 @@ turn=1
activeplayer=human activeplayer=human
activephase=MAIN1 activephase=MAIN1
humanhand=Martyr for the Cause;Spark Harvest;Dreadhorde Twins;Resolute Watchdog humanhand=Martyr for the Cause;Spark Harvest;Dreadhorde Twins;Resolute Watchdog
humanbattlefield=Dreadhorde Twins;t:Zombie Army,P:0,T:0,Cost:no cost,Color:B,Types:Creature-Zombie-Army,Image:b_0_0_zombie_army3_war,Keywords:|Id:7|Counters:P1P1=2;Dreadhorde Twins;Clifftop Retreat|NoETBTrigs;Plains;Swamp;Swamp;Forebear's Blade|AttachedTo:7 humanbattlefield=Dreadhorde Twins;t:Zombie Army,P:0,T:0,Cost:no cost,Color:B,Types:Creature-Zombie-Army,Image:b_0_0_army3_war,Keywords:|Id:7|Counters:P1P1=2;Dreadhorde Twins;Clifftop Retreat|NoETBTrigs;Plains;Swamp;Swamp;Forebear's Blade|AttachedTo:7
aibattlefield=Domri, Anarch of Bolas|Counters:LOYALTY=2;Dire Fleet Daredevil;Dire Fleet Daredevil;Dire Fleet Daredevil;Evolution Sage aibattlefield=Domri, Anarch of Bolas|Counters:LOYALTY=2;Dire Fleet Daredevil;Dire Fleet Daredevil;Dire Fleet Daredevil;Evolution Sage

View File

@@ -0,0 +1,6 @@
Name:Army Token
ManaCost:no cost
Types:Creature Army
Colors:black
PT:0/0
Oracle:

View File

@@ -1,6 +0,0 @@
Name:Zombie Army Token
ManaCost:no cost
Types:Creature Zombie Army
Colors:black
PT:0/0
Oracle: