...
 
Commits (115)
......@@ -150,14 +150,17 @@ public class DiscardAi extends SpellAbilityAi {
private boolean discardTargetAI(final Player ai, final SpellAbility sa) {
final TargetRestrictions tgt = sa.getTargetRestrictions();
Player opp = ComputerUtil.getOpponentFor(ai);
if (opp.getCardsIn(ZoneType.Hand).isEmpty() && !ComputerUtil.activateForCost(sa, ai)) {
return false;
}
if (tgt != null) {
if (sa.canTarget(opp)) {
sa.getTargets().add(opp);
return true;
for (Player opp : ai.getOpponents()) {
if (opp.getCardsIn(ZoneType.Hand).isEmpty() && !ComputerUtil.activateForCost(sa, ai)) {
continue;
} else if (!opp.canDiscardBy(sa)) { // e.g. Tamiyo, Collector of Tales
continue;
}
if (tgt != null) {
if (sa.canTarget(opp)) {
sa.getTargets().add(opp);
return true;
}
}
}
return false;
......
......@@ -787,6 +787,9 @@ public class AbilityUtils {
if (type.contains("Card")) {
o = sa.getTriggeringObject("Card");
}
else if (type.contains("Object")) {
o = sa.getTriggeringObject("Object");
}
else if (type.contains("Attacker")) {
o = sa.getTriggeringObject("Attacker");
}
......@@ -801,8 +804,8 @@ public class AbilityUtils {
return new CardCollection();
}
if (type.equals("Triggered") || (type.equals("TriggeredCard")) || (type.equals("TriggeredAttacker"))
|| (type.equals("TriggeredBlocker"))) {
if (type.equals("Triggered") || type.equals("TriggeredCard") || type.equals("TriggeredObject")
|| type.equals("TriggeredAttacker") || type.equals("TriggeredBlocker")) {
type = "Card.Self";
}
......@@ -810,6 +813,9 @@ public class AbilityUtils {
if (type.contains("TriggeredCard")) {
type = TextUtil.fastReplace(type, "TriggeredCard", "Card");
}
else if (type.contains("TriggeredObject")) {
type = TextUtil.fastReplace(type, "TriggeredObject", "Card");
}
else if (type.contains("TriggeredAttacker")) {
type = TextUtil.fastReplace(type, "TriggeredAttacker", "Card");
}
......
......@@ -48,8 +48,11 @@ public class ChooseGenericEffect extends SpellAbilityEffect {
// Sac a permanent in presence of Sigarda, Host of Herons
// TODO: generalize this by testing if the unless cost can be paid
if (unlessCost.startsWith("Sac<")) {
if (saChoice.getActivatingPlayer().isOpponentOf(p)
&& p.hasKeyword("Spells and abilities your opponents control can't cause you to sacrifice permanents.")) {
if (!p.canSacrificeBy(saChoice)) {
saToRemove.add(saChoice);
}
} else if (unlessCost.startsWith("Discard<")) {
if (!p.canDiscardBy(sa)) {
saToRemove.add(saChoice);
}
}
......
......@@ -1231,13 +1231,15 @@ public class Card extends GameEntity implements Comparable<Card> {
// Run triggers
int curCounters = oldValue == null ? 0 : oldValue;
final Map<String, Object> runParams = Maps.newTreeMap();
runParams.put("Card", this);
runParams.put("CounterType", counterName);
for (int i = 0; i < delta && curCounters != 0; i++) {
final Map<String, Object> runParams = Maps.newTreeMap();
runParams.put("Card", this);
runParams.put("CounterType", counterName);
runParams.put("NewCounterAmount", --curCounters);
getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemoved, runParams, false);
}
runParams.put("CounterAmount", delta);
getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemovedOnce, runParams, false);
}
@Override
......@@ -1988,7 +1990,7 @@ public class Card extends GameEntity implements Comparable<Card> {
final String[] k = keyword.split(":");
final String manacost = k[1];
final Cost cost = new Cost(manacost, false);
StringBuilder sbCost = new StringBuilder(k[0]);
if (!cost.isOnlyManaCost()) {
sbCost.append("—");
......@@ -2038,7 +2040,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|| keyword.startsWith("Miracle") || keyword.startsWith("Recover")) {
final String[] k = keyword.split(":");
final Cost cost = new Cost(k[1], false);
StringBuilder sbCost = new StringBuilder(k[0]);
if (!cost.isOnlyManaCost()) {
sbCost.append("—");
......@@ -2064,13 +2066,13 @@ public class Card extends GameEntity implements Comparable<Card> {
sbAfter.append(" (" + inst.getReminderText() + ")").append("\r\n");
} else if (keyword.equals("Storm")) {
sbAfter.append("Storm (");
sbAfter.append("When you cast this spell, copy it for each spell cast before it this turn.");
if (strSpell.contains("Target") || strSpell.contains("target")) {
sbAfter.append(" You may choose new targets for the copies.");
}
sbAfter.append(")");
sbAfter.append("\r\n");
} else if (keyword.startsWith("Replicate")) {
......@@ -5480,8 +5482,7 @@ public class Card extends GameEntity implements Comparable<Card> {
}
}
if (getController().isOpponentOf(source.getActivatingPlayer())
&& getController().hasKeyword("Spells and abilities your opponents control can't cause you to sacrifice permanents.")) {
if (!getController().canSacrificeBy(source)) {
return false;
}
......@@ -5921,4 +5922,16 @@ public class Card extends GameEntity implements Comparable<Card> {
rE.setTemporarilySuppressed(false);
}
}
public boolean canBeDiscardedBy(SpellAbility sa) {
if (!isInZone(ZoneType.Hand)) {
return false;
}
if (!getOwner().canDiscardBy(sa)) {
return false;
}
return true;
}
}
......@@ -18,6 +18,7 @@
package forge.game.cost;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardCollectionView;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates;
......@@ -106,17 +107,20 @@ public class CostDiscard extends CostPartWithList {
public final boolean canPay(final SpellAbility ability, final Player payer) {
final Card source = ability.getHostCard();
CardCollectionView handList = payer.getCardsIn(ZoneType.Hand);
CardCollectionView handList = payer.canDiscardBy(ability) ? payer.getCardsIn(ZoneType.Hand) : CardCollection.EMPTY;
String type = this.getType();
final Integer amount = this.convertAmount();
if (this.payCostFromSource()) {
if (!source.isInZone(ZoneType.Hand)) {
if (!source.canBeDiscardedBy(ability)) {
return false;
}
}
else {
if (type.equals("Hand")) {
if (!payer.canDiscardBy(ability)) {
return false;
}
// this will always work
}
else if (type.equals("LastDrawn")) {
......
......@@ -455,11 +455,11 @@ public class Player extends GameEntity implements Comparable<Player> {
}
return true;
}
public final int loseLife(final int toLose) {
return loseLife(toLose,false);
}
public final int loseLife(final int toLose, final boolean manaBurn) {
int lifeLost = 0;
if (!canLoseLife()) {
......@@ -1555,6 +1555,10 @@ public class Player extends GameEntity implements Comparable<Player> {
}
public final Card discard(final Card c, final SpellAbility sa, CardZoneTable table) {
if (!c.canBeDiscardedBy(sa)) {
return null;
}
// TODO: This line should be moved inside CostPayment somehow
/*if (sa != null) {
sa.addCostToHashList(c, "Discarded");
......@@ -2935,4 +2939,27 @@ public class Player extends GameEntity implements Comparable<Player> {
return CardLists.count(attachedCards, CardPredicates.Presets.CURSE) > 0;
}
public boolean canDiscardBy(SpellAbility sa) {
if (sa == null) {
return true;
}
if (isOpponentOf(sa.getActivatingPlayer()) && hasKeyword("Spells and abilities your opponents control can't cause you to discard cards.")) {
return false;
}
return true;
}
public boolean canSacrificeBy(SpellAbility sa) {
if (sa == null) {
return true;
}
if (isOpponentOf(sa.getActivatingPlayer()) && hasKeyword("Spells and abilities your opponents control can't cause you to sacrifice permanents.")) {
return false;
}
return true;
}
}
......@@ -21,7 +21,16 @@ public final class PlayerPredicates {
}
};
}
public static final Predicate<Player> canDiscardBy(final SpellAbility source) {
return new Predicate<Player>() {
@Override
public boolean apply(final Player p) {
return p.canDiscardBy(source);
}
};
}
public static final Predicate<Player> isOpponentOf(final Player player) {
return new Predicate<Player>() {
@Override
......
......@@ -377,6 +377,7 @@ public final class StaticAbilityContinuous {
if (layer == StaticAbilityLayer.ABILITIES1 && params.containsKey("GainsAbilitiesOf")) {
final String[] valids = params.get("GainsAbilitiesOf").split(",");
List<ZoneType> validZones = new ArrayList<ZoneType>();
final boolean loyaltyAB = params.containsKey("GainsLoyaltyAbilities");
validZones.add(ZoneType.Battlefield);
if (params.containsKey("GainsAbilitiesOfZones")) {
validZones.clear();
......@@ -394,6 +395,9 @@ public final class StaticAbilityContinuous {
for (Card c : cardsIGainedAbilitiesFrom) {
for (SpellAbility sa : c.getSpellAbilities()) {
if (sa instanceof AbilityActivated) {
if (loyaltyAB && !sa.getRestrictions().isPwAbility()) {
continue;
}
SpellAbility newSA = sa.copy(hostCard, false);
if (params.containsKey("GainsAbilitiesLimitPerTurn")) {
newSA.setRestrictions(sa.getRestrictions());
......
......@@ -54,22 +54,22 @@ public class TriggerCounterRemoved extends Trigger {
final CounterType addedType = (CounterType) runParams2.get("CounterType");
final Integer addedNewCounterAmount = (Integer) runParams2.get("NewCounterAmount");
if (this.mapParams.containsKey("ValidCard")) {
if (!addedTo.isValid(this.mapParams.get("ValidCard").split(","), this.getHostCard().getController(),
if (hasParam("ValidCard")) {
if (!addedTo.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(),
this.getHostCard(), null)) {
return false;
}
}
if (this.mapParams.containsKey("CounterType")) {
final String type = this.mapParams.get("CounterType");
if (hasParam("CounterType")) {
final String type = getParam("CounterType");
if (!type.equals(addedType.toString())) {
return false;
}
}
if (this.mapParams.containsKey("NewCounterAmount")) {
final String amtString = this.mapParams.get("NewCounterAmount");
if (hasParam("NewCounterAmount")) {
final String amtString = getParam("NewCounterAmount");
int amt = Integer.parseInt(amtString);
if(amt != addedNewCounterAmount.intValue()) {
return false;
......
/*
* Forge: Play Magic: the Gathering.
* Copyright (C) 2011 Forge Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.game.trigger;
import forge.game.card.Card;
import forge.game.card.CounterType;
import forge.game.spellability.SpellAbility;
/**
* <p>
* Trigger_CounterRemovedOnce class.
* </p>
*
* @author Forge
* @version $Id: TriggerCounterRemovedOnce.java 12297 2011-11-28 19:56:47Z jendave $
*/
public class TriggerCounterRemovedOnce extends Trigger {
/**
* <p>
* Constructor for Trigger_CounterRemovedOnce.
* </p>
*
* @param params
* a {@link java.util.HashMap} object.
* @param host
* a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
public TriggerCounterRemovedOnce(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic);
}
/** {@inheritDoc} */
@Override
public final boolean performTest(final java.util.Map<String, Object> runParams2) {
final Card removedFrom = (Card) runParams2.get("Card");
final CounterType removedType = (CounterType) runParams2.get("CounterType");
if (hasParam("ValidCard")) {
if (!removedFrom.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(),
this.getHostCard(), null)) {
return false;
}
}
if (hasParam("CounterType")) {
final String type = getParam("CounterType");
if (!type.equals(removedType.toString())) {
return false;
}
}
return true;
}
/** {@inheritDoc} */
@Override
public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
sa.setTriggeringObject("Amount", this.getRunParams().get("CounterAmount"));
}
@Override
public String getImportantStackObjects(SpellAbility sa) {
StringBuilder sb = new StringBuilder();
sb.append("Removed from: ").append(sa.getTriggeringObject("Card"));
sb.append(" Amount: ").append(sa.getTriggeringObject("Amount"));
return sb.toString();
}
}
......@@ -14,20 +14,20 @@ public class TriggerCrewed extends Trigger {
@Override
public boolean performTest(Map<String, Object> runParams2) {
if (this.mapParams.containsKey("ValidVehicle")) {
if (!matchesValid(runParams2.get("Vehicle"), this.mapParams.get("ValidVehicle").split(","),
if (hasParam("ValidVehicle")) {
if (!matchesValid(runParams2.get("Vehicle"), getParam("ValidVehicle").split(","),
this.getHostCard())) {
return false;
}
}
if (this.mapParams.containsKey("ValidCrew")) {
if (hasParam("ValidCrew")) {
if (runParams2.get("Crew") == null) {
return false;
}
boolean passes = false;
for (Object member : (CardCollection)runParams2.get("Crew")) {
passes |= matchesValid(member, this.mapParams.get("ValidCrew").split(","),
passes |= matchesValid(member, getParam("ValidCrew").split(","),
this.getHostCard());
}
if (!passes)
......
......@@ -38,6 +38,7 @@ public enum TriggerType {
CounterAddedOnce(TriggerCounterAddedOnce.class),
Countered(TriggerCountered.class),
CounterRemoved(TriggerCounterRemoved.class),
CounterRemovedOnce(TriggerCounterRemovedOnce.class),
Crewed(TriggerCrewed.class),
Cycled(TriggerCycled.class),
DamageDealtOnce(TriggerDamageDealtOnce.class),
......
......@@ -1431,10 +1431,15 @@ Orzhov Guildgate|RNA
Rakdos Guildgate|RNA
Simic Guildgate|RNA
[WAR Planeswalker Decks and Additional Promo]
[WAR Secret Cards]
Gideon, the Oathsworn
Desperate Lunge
Gideon's Battle Cry
Gieeon's Company
Orzhov Guildgate
Gideon's Company
Orzhov Guildgate|WAR
Jace, Arcane Strategist
Guildpact Informant
Jace's Projection
Jace's Ruse
Simic Guildgate|WAR
Tezzeret, Master of the Bridge
\ No newline at end of file
......@@ -3,7 +3,7 @@ ManaCost:3 B
Types:Creature Human Shaman
PT:4/2
S:Mode$ ReduceCost | ValidTarget$ Card.Self | Activator$ Player.Opponent | Type$ Spell | Amount$ 1 | Description$ Spells your opponents cast that target CARDNAME cost {1} less to cast.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When CARDNAME dies, return it to the battlefield transformed under your control attached to target opponent.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, return it to the battlefield transformed under your control attached to target opponent.
SVar:TrigChoose:DB$ Pump | ValidTgts$ Opponent | TgtPrompt$ Choose a opponent | IsCurse$ True | SubAbility$ DBChange
SVar:DBChange:DB$ ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Battlefield | AttachedToPlayer$ ParentTarget | Transformed$ True | GainControl$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/accursed_witch.jpg
......
......@@ -3,7 +3,7 @@ ManaCost:4 W W
Types:Creature Angel
PT:3/5
K:Flying
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | OptionalDecider$ You | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME dies, you may shuffle it into its owner's library.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | OptionalDecider$ You | ValidCard$ Card.Self | Execute$ TrigChange | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you may shuffle it into its owner's library.
SVar:TrigChange:DB$ChangeZone | Origin$ Graveyard | Destination$ Library | Shuffle$ True | Defined$ TriggeredCard
SVar:Picture:http://www.wizards.com/global/images/magic/general/angel_of_fury.jpg
Oracle:Flying\nWhen Angel of Fury dies, you may shuffle it into its owner's library.
Name:Fractured Identity
ManaCost:3 W U
Types:Sorcery
A:SP$ ChangeZone | Cost$ 3 W U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBRememberCtrl | SpellDescription$ Exile target nonland permanent. Each player other than its controller creates a token that's a copy of it.
SVar:DBRememberCtrl:DB$ Pump | Defined$ RememberedController | RememberObjects$ RememberedController | SubAbility$ DBRepeat
SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player.IsNotRemembered | RepeatSubAbility$ DBClone | SubAbility$ DBCleanup
A:SP$ ChangeZone | Cost$ 3 W U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SubAbility$ DBRememberCtrl | SpellDescription$ Exile target nonland permanent. Each player other than its controller creates a token that's a copy of it.
SVar:DBRememberCtrl:DB$ Pump | RememberObjects$ TargetedController | SubAbility$ DBRepeat
SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player.IsNotRemembered | RepeatSubAbility$ DBForget | SubAbility$ DBCleanup
SVar:DBForget:DB$ Cleanup | ForgetDefinedPlayer$ TargetedController | SubAbility$ DBClone
SVar:DBClone:DB$ CopyPermanent | Defined$ Remembered | Controller$ Player.IsRemembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/fractured_identity.jpg
......
......@@ -4,6 +4,6 @@ Types:Artifact Equipment
K:Equip:0
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$ 2 | Description$ Equipped creature gets +3/+2.
T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent.
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ TriggeredObject
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ TriggeredObject | SacMessage$ equipped permanent
SVar:Picture:http://www.wizards.com/global/images/magic/general/grafted_wargear.jpg
Oracle:Equipped creature gets +3/+2.\nWhenever Grafted Wargear becomes unattached from a permanent, sacrifice that permanent.\nEquip {0} ({0}: Attach to target creature you control. Equip only as a sorcery.)
......@@ -2,6 +2,6 @@ Name:Might of Old Krosa
ManaCost:G
Types:Instant
A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | References$ X | SpellDescription$ Target creature gets +2/+2 until end of turn. If you cast this spell during your main phase, that creature gets +4/+4 until end of turn instead.
fCSVar:X:Count$IfCastInOwnMainPhase.4.2
SVar:X:Count$IfCastInOwnMainPhase.4.2
SVar:Picture:http://www.wizards.com/global/images/magic/general/might_of_old_krosa.jpg
Oracle:Target creature gets +2/+2 until end of turn. If you cast this spell during your main phase, that creature gets +4/+4 until end of turn instead.
Name:Aid the Fallen
ManaCost:1 B
Types:Sorcery
A:SP$ Charm | Cost$ 1 B | MinCharmNum$ 1 | CharmNum$ 2 | Choices$ DBCreature,DBPlaneswalker
SVar:DBCreature:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature in your graveyard | SpellDescription$ Return target creature card from your graveyard to your hand
SVar:DBPlaneswalker:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Planeswalker.YouCtrl | TgtPrompt$ Select target planeswalker in your graveyard | SpellDescription$ Return target planeswalker card from your graveyard to your hand
Oracle:Choose one or both —\n•Return target creature card from your graveyard to your hand.\n•Return target planeswalker card from your graveyard to your hand.
\ No newline at end of file
......@@ -3,7 +3,7 @@ ManaCost:2 BR BR
Types:Legendary Planeswalker Angrath
Loyalty:5
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddKeyword$ Menace | Description$ Creatures you control have menace.
A:AB$ Amass | Cost$ SubCounter<3/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 | 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.)
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass & Ability$Counters & Ability$Token
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.)
Name:Angrath's Rampage
ManaCost:B R
Types:Sorcery
A:SP$ Charm | Cost$ B R | Choices$ SacArtifact,SacCreature,SacPW
SVar:SacArtifact:DB$ Sacrifice | ValidTgts$ Player | SacValid$ Artifact | Amount$ 1 | SpellDescription$ Target player sacrifices an artifact.
SVar:SacCreature:DB$ Sacrifice | ValidTgts$ Player | SacValid$ Creature | Amount$ 1 | SpellDescription$ Target player sacrifices an creature.
SVar:SacPW:DB$ Sacrifice | ValidTgts$ Player | SacValid$ Planeswalker | Amount$ 1 | SpellDescription$ Target player sacrifices an planeswalker.
Oracle:Choose one —\n• Target player sacrifices an artifact.\n• Target player sacrifices a creature.\n• Target player sacrifices a planeswalker.
Name:Arboreal Grazer
ManaCost:G
Types:Creature Beast
PT:0/3
K:Reach
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may put a land card from your hand onto the battlefield tapped.
SVar:TrigChange:DB$ChangeZone | Origin$ Hand | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.YouCtrl
Oracle:Reach\nWhen Arboreal Grazer enters the battlefield, you may put a land card from your hand onto the battlefield tapped.
Name:Arlinn, Voice of the Pack
ManaCost:4 G G
Types:Legendary Planeswalker Arlinn
Loyalty:7
K:ETBReplacement:Other:AddExtraCounter:Mandatory:Battlefield:Creature.Wolf+YouCtrl,Creature.Werewolf+YouCtrl
SVar:AddExtraCounter:DB$ PutCounter | ETB$ True | Defined$ ReplacedCard | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$Each creature you control that's a Wolf or Werewolf enters the battlefield with an additional +1/+1 counter on it.
SVar:PlayMain1:TRUE
DeckHints:Type$Wolf & Type$Werewolf
A:AB$ Token | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ g_2_2_wolf | TokenOwner$ You | LegacyImage$ g 2 2 wolf war | SpellDescription$ Create a 2/2 green Wolf creature token.
Oracle:Each creature you control that's a Wolf or Werewolf enters the battlefield with an additional +1/+1 counter on it.\n[-2]: Create a 2/2 green Wolf creature token.
Name:Ashiok's Skulker
ManaCost:4 U
Types:Creature Nightmare
PT:3/5
A:AB$ Pump | Cost$ 3 U | KW$ HIDDEN Unblockable | SpellDescription$ CARDNAME can't be blocked this turn.
Oracle:{3}{U}: Ashiok's Skulker can't be blocked this turn.
Name:Aven Eternal
ManaCost:2 U
Types:Creature Zombie Bird Warrior
PT:2/2
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.)
SVar:DBAmass:DB$ Amass | Num$ 1
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass & Ability$Counters & Ability$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.)
Name:Band Together
ManaCost:2 G
Types:Instant
A:SP$ Pump | Cost$ 2 G | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select up to two target creatures you control | AILogic$ PowerDamage | SubAbility$ SoulsDamage | TargetMin$ 0 | TargetMax$ 2 | StackDescription$ None | SpellDescription$ Up to two target creatures you control each deal damage equal to their power to another target creature.
SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature to be dealt damage | NumDmg$ X | References$ X | TargetUnique$ True | AILogic$ PowerDamage
SVar:X:ParentTargeted$CardPower/HalfUp
Oracle:Up to two target creatures you control each deal damage equal to their power to another target creature.
Name:Battlefield Promotion
ManaCost:1 W
Types:Instant
A:SP$ PutCounter | Cost$ 1 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPump | SpellDescription$ Put a +1/+1 counter on target creature. That creature gains first strike until end of turn. You gain 2 life.
SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ First Strike | SubAbility$ DBGainLife
SVar:DBGainLife:DB$GainLife | LifeAmount$ 2
DeckHas:Ability$Counters
Oracle:Put a +1/+1 counter on target creature. That creature gains first strike until end of turn. You gain 2 life.
Name:Blast Zone
ManaCost:no cost
Types:Land
K:etbCounter:CHARGE:1
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
A:AB$ PutCounter | Cost$ X X T | CounterType$ CHARGE | CounterNum$ X | References$ X | SpellDescription$ Put X charge counters on CARDNAME.
SVar:X:Count$xPaid
AI:RemoveDeck:All
A:AB$ DestroyAll | Cost$ 3 T Sac<1/CARDNAME> | ValidCards$ Permanent.nonLand+cmcEQY | References$ Y | SpellDescription$ Destroy each nonland permanent with converted mana cost equal to the number of charge counters on CARDNAME.
SVar:Y:Count$CardCounters.CHARGE
Oracle:Blast Zone enters the battlefield with a charge counter on it.\n{T}: Add {C}.\n{X}{X}, {T}: Put X charge counters on Blast Zone.\n{3}, {T}, Sacrifice Blast Zone: Destroy each nonland permanent with converted mana cost equal to the number of charge counters on Blast Zone.
Name:Bleeding Edge
ManaCost:1 B B
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 | 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.)
SVar:DBAmass:DB$ Amass | Num$ 2
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.)
Name:Bolt Bend
ManaCost:3 R
Types:Instant
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 3 | EffectZone$ All | IsPresent$ Creature.YouCtrl+powerGE4 | Description$ CARDNAME costs {3} less to cast if you control a creature with power 4 or greater.
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 3 | EffectZone$ All | IsPresent$ Creature.YouCtrl+powerGE4 | Description$ This Spell costs {3} less to cast if you control a creature with power 4 or greater.
A:SP$ ChangeTargets | Cost$ 3 R | TargetType$ Spell,Activated,Triggered | ValidTgts$ Card | TargetsSingleTarget$ True | SpellDescription$ Change the target of target spell or ability with a single target.
AI:RemoveDeck:All
Oracle:This spell costs {3} less to cast if you control a creature with power 4 or greater.\nChange the target of target spell or ability with a single target.
Name:Bond of Discipline
ManaCost:4 W
Types:Sorcery
A:SP$ TapAll | Cost$ 4 W | ValidCards$ Creature.OppCtrl | SubAbility$ DBPumpAll | SpellDescription$ Tap all creatures your opponents control. Creatures you control gain lifelink until end of turn.
SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Lifelink
Oracle:Tap all creatures your opponents control. Creatures you control gain lifelink until end of turn.
Name:Bond of Flourishing
ManaCost:1 G
Types:Sorcery
A:SP$ Dig | Cost$ 1 G | DigNum$ 3 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Permanent | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | RestRandomOrder$ True | SubAbility$ GainLife | SpellDescription$ Put at the top three card of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in any order. You gain 3 life.
SVar:GainLife:DB$GainLife | LifeAmount$ 3
Oracle:Look at the top three card of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in any order. You gain 3 life.
Name:Bond of Insight
ManaCost:3 U
Types:Sorcery
A:SP$ Mill | Cost$ 3 U | NumCards$ 4 | Defined$ Player | SubAbility$ DBChangeZone | SpellDescription$ Each player puts the top four cards of their library into their graveyard. Return up to two instant and/or sorcery cards from your graveyard to your hand. Exile CARDNAME.
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ChangeNum$ 2 | ChangeType$ Instant.YouOwn,Sorcery.YouOwn | Hidden$ True | SubAbility$ DBExile
SVar:DBExile:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
Oracle:Each player puts the top four cards of their library into their graveyard. Return up to two instant and/or sorcery cards from your graveyard to your hand. Exile Bond of Insight.
Name:Bond of Passion
ManaCost:4 R R
Types:Sorcery
A:SP$ GainControl | Cost$ 4 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature. | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | SubAbility$ DBDamage | SpellDescription$ Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. CARDNAME deals 2 damage to any target.
SVar:DBDamage:DB$DealDamage | ValidTgts$ Creature,Player,Planeswalker | NumDmg$ 2 | TargetUnique$ True | TgtPrompt$ Select any target.
Oracle:Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. Bond of Passion deals 2 damage to any other target.
Name:Bond of Revival
ManaCost:4 B
Types:Sorcery
A:SP$ ChangeZone | Cost$ 4 B | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SubAbility$ DBPump | SpellDescription$ Return target creature card from your graveyard to the battlefield. It gains haste until your next turn.
SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Haste | UntilYourNextTurn$ True
Oracle:Return target creature card from your graveyard to the battlefield. It gains haste until your next turn.
......@@ -3,6 +3,6 @@ ManaCost:1 R
Types:Creature Human Wizard
PT:1/3
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast a noncreature spell, CARDNAME gets +1/+0 until end of turn, then scry 1.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ 1 | NumDef$ 0 | SubAbility$ DBScry
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ 1 | SubAbility$ DBScry
SVar:DBScry:DB$ Scry | ScryNum$ 1
Oracle:Whenever you cast a noncreature spell, Burning Prophet gets +1/+0 until end of turn, then scry 1.
Oracle:Whenever you cast a noncreature spell, Burning Prophet gets +1/+0 until end of turn, then scry 1.
\ No newline at end of file
Name:Callous Dismissal
ManaCost:1 U
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.)
SVar:DBAmass:DB$ Amass | Num$ 1
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass & Ability$Counters & Ability$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.)
Name:Casualties of War
ManaCost:2 B B G G
Types:Sorcery
A:SP$ Charm | Cost$ 2 B B G G | MinCharmNum$ 1 | CharmNum$ 5 | Choices$ DestroyArtifact,DestroyCreature,DestroyEnchantment,DestroyLand,DestroyPlaneswalker
SVar:DestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | Tgtprompt$ Select target artifact | Spelldescription$ Destroy target artifact
SVar:DestroyCreature:DB$ Destroy | ValidTgts$ Creature | Tgtprompt$ Select target creature | Spelldescription$ Destroy target creature.
SVar:DestroyEnchantment:DB$ Destroy | ValidTgts$ Enchantment | Tgtprompt$ Select target Enchantment | Spelldescription$ Destroy target Enchantment.
SVar:DestroyLand:DB$ Destroy | ValidTgts$ Land | Tgtprompt$ Select target land | Spelldescription$ Destroy target land.
SVar:DestroyPlaneswalker:DB$ Destroy | ValidTgts$ Planeswalker | Tgtprompt$ Select target planeswalker | Spelldescription$ Destroy target planeswalker.
Oracle:Choose one or more —\n• Destroy target artifact.\n• Destroy target creature.\n• Destroy target enchantment.\n• Destroy target land.\n• Destroy target planeswalker.
Name:Centaur Nurturer
ManaCost:3 G
Types:Creature Centaur Druid
PT:2/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 3 life.
SVar:TrigGainLife:DB$GainLife | LifeAmount$ 3
A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color.
Oracle:When Centaur Nurturer enters the battlefield, you gain 3 life.\n{T}: Add one mana of any color.
Name:Chainwhip Cyclops
ManaCost:4 R
Types:Creature Cyclops Warrior
PT:4/4
A:AB$ Pump | Cost$ 3 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't block. | IsCurse$ True | SpellDescription$ Target creature can't block this turn.
Oracle:{3}{R}: Target creature can't block this turn.
Name:Chandra, Fire Artisan
ManaCost:2 R R
Types:Legendary Planeswalker Chandra
Loyalty:4
T:Mode$ CounterRemovedOnce | ValidCard$ Card.Self | CounterType$ LOYALTY | TriggerZones$ Battlefield | Execute$ TrigDmg | TriggerDescription$ Whenever one or more loyalty counters are removed from CARDNAME, CARDNAME deals that much damage to target opponent or planeswalker.
SVar:TrigDmg:DB$ DealDamage | ValidTgts$ Opponent,Planeswalker | TgtPrompt$ Select target opponent or planeswalker | NumDmg$ X | References$ X
SVar:X:TriggerCount$Amount
A:AB$ Mill | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top card of your library. You may play it this turn.
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DBCleanup
SVar:STPlay:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Exile | Affected$ Card.IsRemembered | MayPlay$ True | Description$ You may play the card(s) this turn.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:AB$ Mill | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Defined$ You | NumCards$ 7 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top seven cards of your library. You may play them this turn.
Oracle:Whenever one or more loyalty counters are removed from Chandra, Fire Artisan, she deals that much damage to target opponent or planeswalker.\n[+1]: Exile the top card of your library. You may play it this turn.\n[-7]: Exile the top seven cards of your library. You may play them this turn.
Name:Chandra's Triumph
ManaCost:1 R
Types:Instant
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature.OppCtrl,Planeswalker.OppCtrl | TgtPrompt$ Select target creature or planeswalker an opponent controls | NumDmg$ X | References$ X,Y | SpellDescription$ CARDNAME deals 3 damage to target creature or planeswalker an opponent controls. CARDNAME deals 5 damage to that permanent instead if you control a Chandra planeswalker.
SVar:Y:Count$Valid Planeswalker.Chandra+YouCtrl
SVar:X:Count$Compare Y GE1.5.3
Oracle:Chandra's Triumph deals 3 damage to target creature or planeswalker an opponent controls. Chandra's Triumph deals 5 damage to that permanent instead if you control a Chandra planeswalker.
Name:Charity Extractor
ManaCost:3 B
Types:Creature Human Knight
PT:1/5
K:Lifelink
Oracle:Lifelink
Name:Charmed Stray
ManaCost:W
Types:Creature Cat
PT:1/1
K:Lifelink
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPutCounters | TriggerDescription$ Whenever CARDNAME enters the battlefield, put a +1/+1 counter on each other creature you control named CARDNAME.
SVar:TrigPutCounters:DB$ PutCounterAll | ValidCards$ Creature.namedCharmed Stray+Other | CounterType$ P1P1 | CounterNum$ 1
DeckHints:Name$CARDNAME
Oracle:Lifelink\nWhenever Charmed Stray enters the battlefield, put a +1/+1 counter on each other creature you control named Charmed Stray.
Name:Commence the Endgame
ManaCost:4 U U
Types:Instant
K:CARDNAME 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. | SubAbility$ DBAmass
SVar:DBAmass:DB$ Amass | Num$ X | References$ X
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass & Ability$Counters & Ability$Token
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.
Name:Contentious Plan
ManaCost:1 U
Types:Sorcery
A:SP$ Proliferate | Cost$ 1 U | SubAbility$ DBDraw | SpellDescription$ Proliferate.
SVar:DBDraw:DB$Draw | Cost$ 1 U | NumCards$ 1 | SpellDescription$ Draw a card.
DeckHas:Ability$Proliferate
DeckNeeds:Ability$Counters
Oracle:Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)\nDraw a card.
Name:Despark
ManaCost:W B
Types:Instant
A:SP$ ChangeZone | Cost$ W B | ValidTgts$ Permanent.cmcGE4 | TgtPrompt$ Select target permanent with converted mana cost 4 or greater | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile target permanent with converted mana cost 4 or greater.
Oracle:Exile target permanent with converted mana cost 4 or greater.
Name:Desperate Lunge
ManaCost:1 W
Types:Instant
A:SP$ Pump | Cost$ 1 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +2 | NumDef$ +2 | KW$ Flying | SubAbility$ DBGainLife | SpellDescription$ Target creature gets +2/+2 and gains flying until end of turn. You gain 2 life
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2
Oracle:Target creature gets +2/+2 and gains flying until end of turn. You gain 2 life
Name:Divine Arrow
ManaCost:1 W
Types:Instant
A:SP$ DealDamage | Cost$ 1 W | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target attacking or blocking creature.
Oracle:Divine Arrow deals 4 damage to target attacking or blocking creature.
Name:Domri, Anarch of Bolas
ManaCost:1 R G
Types:Legendary Planeswalker Domri
Loyalty:3
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 1 | Description$ Creatures you control get +1/+0.
SVar:PlayMain1:TRUE
A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ Combo R G | Amount$ 1 | SubAbility$ DBEffect | SpellDescription$ Add {R} or {G}. Creature spells you cast this turn can't be countered.
SVar:DBEffect:DB$ Effect | Name$ Domri, Anarch of Bolas Effect | StaticAbilities$ AntiMagic | SpellDescription$ Creature spells you cast this turn can't be countered
SVar:AntiMagic:Mode$ Continuous | Affected$ Creature.YouCtrl | AffectedZone$ Stack | EffectZone$ Command | AddHiddenKeyword$ CARDNAME can't be countered.
A:AB$ Pump | Planeswalker$ True | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control | AILogic$ Fight | SpellDescription$ Target creature you control fights target creature you don't control. | SubAbility$ DBFight
SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control
Oracle:Creatures you control get +1/+0.\n[+1]: Add {R} or {G}. Creature spells you cast this turn can't be countered.\n[-2]: Target creature you control fights target creature you don't control.
Name:Domri's Ambush
ManaCost:R G
Types:Sorcery
A:SP$ PutCounter | Cost$ R G | ValidTgts$ Creature.YouCtrl | CounterType$ P1P1 | TgtPrompt$ Select target creature you control to put a +1/+1 counter | SubAbility$ DBDamage | SpellDescription$ Put a +1/+1 counter on target creature you control. Then that creature deals damage equal to its power to target creature or planeswalker you don't control.
SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl,Planeswalker.YouDontCtrl | TgtPrompt$ Select target creature or planeswalker you don't control | AILogic$ PowerDmg | NumDmg$ X | References$ X
SVar:X:Targeted$CardPower
Oracle:Put a +1/+1 counter on target creature you control. Then that creature deals damage equal to its power to target creature or planeswalker you don't control.
Name:Dovin, Hand of Control
ManaCost:2 W/U
Types:Legendary Planeswalker Dovin
Loyalty:5
S:Mode$ RaiseCost | ValidCard$ Artifact,Instant,Sorcery | Activator$ Opponent | Type$ Spell | Amount$ 1 | Description$ Artifact, instant, and sorcery spells your opponents cast cost {1} more to cast.
A:AB$ Pump | Cost$ SubCounter<1/LOYALTY> | ValidTgts$ Permanent.OppCtrl | TgtPrompt$ Select target permanent an opponent controls | Planeswalker$ True | KW$ Prevent all damage that would be dealt to and dealt by CARDNAME. | IsCurse$ True | UntilYourNextTurn$ True | SpellDescription$ Until your next turn, prevent all damage that would be dealt to and dealt by target permanent an opponent controls.
AI:RemoveDeck:All
Oracle:Artifact, instant, and sorcery spells your opponents cast cost {1} more to cast.\n[-1]: Until your next turn, prevent all damage that would be dealt to and dealt by target permanent an opponent controls.
......@@ -4,7 +4,7 @@ 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.)
SVar:DBLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBAmass
SVar:DBAmass:DB$ Amass | Num$ 1
T:Mode$ Attacks | ValidCard$ Creature.Zombie+token+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+powerGE6+YouCtrl | 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$ TriggeredAttacker | KW$ Lifelink
SVar:AICastPreference:NeverCastIfLifeBelow$ 4
DeckHints:Ability$Amass & Type$Zombie
......
Name:Dreadhorde Twins
ManaCost:3 R
Types:Creature Zombie Jackal Warrior
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.)
SVar:DBAmass:DB$ Amass | Num$ 2
S:Mode$ Continuous | Affected$ Creature.token+YouCtrl | AddKeyword$ Trample | Description$ Zombie tokens you control have trample.
SVar:PlayMain1:TRUE
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass & Ability$Counters & Ability$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.
Name:Dreadmalkin
ManaCost:B
Types:Creature Zombie Cat
PT:1/1
K:Menace
A:AB$ PutCounter | Cost$ 2 B Sac<1/Creature.Other,Planeswalker.Other/another creature or planeswalker> | CounterType$ P1P1 | CounterNum$ 2 | SpellDescription$ Put two +1/+1 counters on CARDNAME.
DeckHas:Ability$Counters
Oracle:Menace (This creature can't be blocked except by two or more creatures.)\n{2}{B}, Sacrifice another creature or planeswalker: Put two +1/+1 counters on Dreadmalkin.
Name:Duskmantle Operative
ManaCost:1 B
Types:Creature Human Rogue
PT:2/2
K:CantBeBlockedBy Creature.powerGE4
Oracle:Duskmantle Operative can't be blocked by creatures with power 4 or greater.
Name:Elite Guardmage
ManaCost:2 W U
Types:Creature Human Wizard
PT:2/3
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 3 life and draw a card.
SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 3 | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1
Oracle:Flying\nWhen Elite Guardmage enters the battlefield, you gain 3 life and draw a card.
Name:Emergence Zone
ManaCost:no cost
Types:Land
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
A:AB$ Effect | Cost$ 1 T Sac<1/CARDNAME> | Name$ Emergence Zone Effect | StaticAbilities$ QuickSpell | SpellDescription$ You may cast spells this turn as though they had flash.
SVar:QuickSpell:Mode$ Continuous | EffectZone$ Command | Affected$ Card | WithFlash$ You | AffectedZone$ Exile,Graveyard,Hand,Library,Command | Description$ You may cast spells this turn as though they had flash.
SVar:PlayMain1:TRUE
AI:RemoveDeck:Random
AI:RemoveDeck:All
Oracle:{T}: Add {C}.\n{1}, {T}, Sacrifice Emergence Zone: You may cast spells this turn as though they had flash.
Name:Enforcer Griffin
ManaCost:4 W
Types:Creature Griffin
PT:3/4
K:Flying
Oracle:Flying
Name:Eternal Taskmaster
ManaCost:1 B
Types:Creature Zombie
PT:2/3
K:CARDNAME enters the battlefield tapped.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChange | TriggerZones$ Battlefield | TriggerDescription$ Whenever Eternal Taskmaster attacks, you may pay {2}{B}. If you do, return target creature card from your graveyard to your hand.
SVar:TrigChange:AB$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature card in your graveyard
DeckHints:Ability$Graveyard
Oracle:Eternal Taskmaster enters the battlefield tapped.\nWhenever Eternal Taskmaster attacks, you may pay {2}{B}. If you do, return target creature card from your graveyard to your hand.
Name:Finale of Devastation
ManaCost:X G G
Types:Sorcery
A:SP$ ChangeZone | Cost$ X G G | ChangeType$ Creature.YouCtrl+cmcLEX | Hidden$ True | Origin$ Library | OriginChoice$ True | OriginAlternative$ Graveyard | AlternativeMessage$ Would you like to search your library with this ability? If you do, your library will be shuffled. | Destination$ Battlefield | ShuffleNonMandatory$ True | SubAbility$ DBPump | SpellDescription$ Search your library and/or graveyard for a creature card with converted mana cost X or less and put it onto the battlefield. If you search your library this way, shuffle it. If X is 10 or more, creatures you control get +X/+X and gain haste until end of turn.
SVar:DBPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Haste | NumAtt$ X | NumDef$ X | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10
SVar:X:Count$xPaid
Oracle:Search your library and/or graveyard for a creature card with converted mana cost X or less and put it onto the battlefield. If you search your library this way, shuffle it. If X is 10 or more, creatures you control get +X/+X and gain haste until end of turn.
Name:Finale of Eternity
ManaCost:X B B
Types:Sorcery
A:SP$ Destroy | Cost$ X B B | References$ X | TargetMin$ 0 | TargetMax$ 3 | ValidTgts$ Creature.toughnessLEX | SubAbility$ DBChangeZone | SpellDescription$ Destroy up to three target creatures with toughness X or less. If X is 10 or more, return all creature cards from your graveyard to the battlefield.
SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Creature.YouCtrl | Origin$ Graveyard | Destination$ Battlefield | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10
SVar:X:Count$xPaid
Oracle:Destroy up to three target creatures with toughness X or less. If X is 10 or more, return all creature cards from your graveyard to the battlefield.
\ No newline at end of file
Name:Finale of Glory
ManaCost:X W W
Types:Sorcery
A:SP$ Token | Cost$ X W W | TokenAmount$ X | References$ X | TokenScript$ w_2_2_soldier_vigilance | TokenOwner$ You | SubAbility$ DBAngels | SpellDescription$ Create X 2/2 white Soldier creature tokens with vigilance. If X is 10 or more, also create X 4/4 white Angel creature tokens with flying and vigilance.
SVar:DBAngels:DB$ Token | TokenAmount$ X | References$ X | TokenScript$ w_4_4_angel_flying_vigilance | TokenOwner$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10
SVar:X:Count$xPaid
Oracle:Create X 2/2 white Soldier creature tokens with vigilance. If X is 10 or more, also create X 4/4 white Angel creature tokens with flying and vigilance.
\ No newline at end of file
Name:Finale of Promise
ManaCost:X R R
Types:Sorcery
A:SP$ Pump | Cost$ X R R | ValidTgts$ Instant.YouOwn+cmcLEX | TgtZone$ Graveyard | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target instant card in your graveyard with converted mana cost X or less | RememberObjects$ Targeted | SubAbility$ DBPump | References$ X | SpellDescription$ You may cast up to one target instant card and/or sorcery card from your graveyard each with converted mana cost X or less without paying their mana costs. If a card cast this way would be put into your graveyard this turn, exile it instead. If X is 10 or more, copy each of those spells twice. You may choose new targets for the copies.
SVar:DBPump:DB$ Pump | ValidTgts$ Sorcery.YouOwn+cmcLEX | TgtZone$ Graveyard | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target sorcery card in your graveyard with converted mana cost X or less | RememberObjects$ Targeted | SubAbility$ DBPlay | References$ X | StackDescription$ None
SVar:DBPlay:DB$ Play | Valid$ Card.IsRemembered | ValidZone$ Graveyard | Controller$ You | CopyCard$ True | CopyOnce$ True | WithoutManaCost$ True | Optional$ True | Amount$ All | SubAbility$ DBRepeat
SVar:DBRepeat:DB$ RepeatEach | DefinedCards$ Remembered | ClearRemembered$ True | ChooseOrder$ True | RepeatSubAbility$ DBCopy | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10
SVar:DBCopy:DB$ CopySpellAbility | Amount$ 2 | Defined$ Remembered
SVar:X:Count$xPaid
Oracle:You may cast up to one target instant card and/or sorcery card from your graveyard each with converted mana cost X or less without paying their mana costs. If a card cast this way would be put into your graveyard this turn, exile it instead. If X is 10 or more, copy each of those spells twice. You may choose new targets for the copies.
\ No newline at end of file
Name:Finale of Revelation
ManaCost:X U U
Types:Sorcery
A:SP$ ChangeZoneAll | Cost$ X U U | ChangeType$ Card | Origin$ Graveyard | Destination$ Library | Shuffle$ True | Random$ True | SubAbility$ DBDraw | UseAllOriginZones$ True | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10 | SpellDescription$ Draw X cards. If X is 10 or more, instead shuffle your graveyard into your library, draw X cards, untap up to five lands, and you have no maximum hand size for the rest of the game.
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X | SubAbility$ DBUntap
SVar:DBUntap:DB$ Untap | UntapUpTo$ True | UntapType$ Land | Amount$ 5 | SubAbility$ DBEffect | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10
SVar:DBEffect:DB$ Effect | Name$ Finale of Revelation Effect | StaticAbilities$ STHandSize | Duration$ Permanent | SubAbility$ DBChange | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10
SVar:STHandSize:Mode$ Continuous | EffectZone$ Command | Affected$ You | SetMaxHandSize$ Unlimited | Description$ You have no maximum hand size.
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | StackDescription$ Exile CARDNAME
SVar:X:Count$xPaid
Oracle:Draw X cards. If X is 10 or more, instead shuffle your graveyard into your library, draw X cards, untap up to five lands, and you have no maximum hand size for the rest of the game.\nExile Finale of Revelation.
Name:Gideon Blackblade
ManaCost:1 W W
Types:Legendary Planeswalker Gideon
Loyalty:4
S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | Condition$ PlayerTurn | SetPower$ 4 | SetToughness$ 4 | AddType$ Creature & Human & Soldier | AddKeyword$ Indestructible | Description$ As long as it's your turn, CARDNAME is a 4/4 Human Soldier creature with indestructible that's still a planeswalker.
R:Event$ DamageDone | Prevent$ True | ValidTarget$ Card.Self | Condition$ PlayerTurn | Description$ Prevent all damage that would be dealt to CARDNAME during your turn.
A:AB$ GenericChoice | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature.YouCtrl+Other | TgtPrompt$ Select to one target creature you control | Choices$ DBVigilance,DBLifelink,DBIndestructible | Defined$ You | ConditionDefined$ Targeted | ConditionPresent$ Card | ConditionCompare$ GE1 | SpellDescription$ Up to one other target creature you control gains your choice of vigilance, lifelink, or indestructible until end of turn. | StackDescription$ SpellDescription
SVar:DBVigilance:DB$ Pump | Defined$ Targeted | KW$ Vigilance | SpellDescription$ Targeted creature gains Vigilance until end of turn.
SVar:DBLifelink:DB$ Pump | Defined$ Targeted | KW$ Lifelink | SpellDescription$ Targeted creature gains Lifelink until end of turn.
SVar:DBIndestructible:DB$ Pump | Defined$ Targeted | KW$ Indestructible | SpellDescription$ Targeted creature gains Indestructible until end of turn.
A:AB$ ChangeZone | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile target nonland permanent.
DeckHints:Ability$LifeGain
Oracle:As long as it's your turn, Gideon Blackblade is a 4/4 Human Soldier creature with indestructible that's still a planeswalker.\nPrevent all damage that would be dealt to Gideon Blackblade during your turn.\n[+1]: Up to one other target creature you control gains your choice of vigilance, lifelink, or indestructible until end of turn.\n[-6]: Exile target nonland permanent.
Name:Gideon's Triumph
ManaCost:1 W
Types:Instant
A:SP$ Sacrifice | Cost$ 1 W | ValidTgts$ Opponent | SacValid$ Creature.attackedThisTurn,Creature.blockedThisTurn | SacMessage$ Creature that attacked or blocked this turn | Amount$ X | References$ X SpellDescription$ Target opponent sacrifices a creature that attacked or blocked this turn. If you control a Gideon planeswalker, that player sacrifices two of those creatures instead.
SVar:Y:Count$Valid Planeswalker.Gideon+YouCtrl
SVar:X:Count$Compare Y GE1.2.1
Oracle:Target opponent sacrifices a creature that attacked or blocked this turn. If you control a Gideon planeswalker, that player sacrifices two of those creatures instead.
Name:God-Eternal Bontu
ManaCost:3 B B
Types:Legendary Creature Zombie God
PT:5/6
K:Menace
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice any number of other permanents, then draw that many cards.
SVar:TrigSac:DB$ Sacrifice | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Permanent.Other | RememberSacrificed$ True | Optional$ True | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ DrawX | References$ DrawX | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:SacX:Count$Valid Permanent.YouCtrl+Other
SVar:DrawX:Remembered$Amount
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigFromGraveyard | OptionalDecider$ You | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
SVar:TrigFromGraveyard:DB$ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Exile | ValidCard$ Card.Self | Execute$ TrigFromExile | OptionalDecider$ You | TriggerController$ TriggeredCardController | Secondary$ True | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
SVar:TrigFromExile:DB$ChangeZone | Defined$ TriggeredCard | Origin$ Exile | Destination$ Library | LibraryPosition$ 2
Oracle:Menace\nWhen God-Eternal Bontu enters the battlefield, sacrifice any number of other permanents, then draw that many cards.\nWhen God-Eternal Bontu dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
\ No newline at end of file
Name:God-Eternal Oketra
ManaCost:3 W W
Types:Legendary Creature Zombie God
PT:3/6
K:Double Strike
T:Mode$ SpellCast | ValidCard$ Creature | ValidActivatingPlayer$ You | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a creature spell, create a 4/4 black Zombie Warrior creature token with vigilance.
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_4_4_zombie_warrior_vigilance | TokenOwner$ You | LegacyImage$ b 4 4 zombie warrior vigilance war
DeckHas:Ability$Token
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Exile | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
SVar:TrigChange:DB$ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 2
Oracle:Double strike\nWhenever you cast a creature spell, create a 4/4 black Zombie Warrior creature token with vigilance.\nWhen God-Eternal Oketra dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
Name:Guild Globe
ManaCost:2
Types:Artifact
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card.
SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ 1
A:AB$ Mana | Cost$ 2 T Sac<1/CARDNAME> | Produced$ Any | Amount$ 2 | SpellDescription$ Add two mana of different colors.
Oracle:When Guild Globe enters the battlefield, draw a card.\n{2}, {T}, Sacrifice Guild Globe: Add two mana of different colors.
Name:Guildpact Informant
ManaCost:2 U
Types:Creature Faerie Rogue
PT:1/1
K:Flying
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player,Planeswalker | CombatDamage$ True | Execute$ TrigProliferate | TriggerDescription$ Whenever CARDNAME deals combat damage to a player or planeswalker, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
SVar:TrigProliferate:DB$ Proliferate
DeckHas:Ability$Proliferate
DeckNeeds:Ability$Counters
Oracle:Flying\nWhenever Guildpact Informant deals combat damage to a player or planeswalker, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
Name:Heartfire
ManaCost:1 R
Types:Instant
A:SP$ DealDamage | Cost$ 1 R Sac<1/Creature;Planeswalker/creature or planeswalker> | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to any target.
SVar:AIPreference:SacCost$Creature.token,Planeswalker.cmcLE2
Oracle:As an additional cost to cast this spell, sacrifice a creature or planeswalker.\nHeartfire deals 4 damage to any target.
......@@ -3,7 +3,7 @@ ManaCost:3 B
Types:Creature Zombie Warrior
PT:3/2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ DBAmass | TriggerController$ TriggeredCardController | 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.)
SVar:DBAmass:DB$ Amass | Num$ 1
SVar:DBAmass:DB$ Amass | Num$ 2
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass & Ability$Counters & Ability$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.)
Name:Huatli, the Sun's Heart
ManaCost:2 G/W
Types:Legendary Planeswalker Huatli
Loyalty:7
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddHiddenKeyword$ CARDNAME assigns combat damage equal to its toughness rather than its power | Description$ Each creature you control assigns combat damage equal to its toughness rather than its power.
A:AB$ GainLife | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the greatest toughness among creatures you control.
SVar:X:Count$GreatestToughness_Creature.YouCtrl
SVar:NeedsToPlay:Creature.YouCtrl
AI:RemoveDeck:Random
DeckNeeds:Ability$LifeGain
Oracle:Each creature you control assigns combat damage equal to its toughness rather than its power.\n[-3]: You gain life equal to the greatest toughness among creatures you control.
Name:Huatli's Raptor
ManaCost:G W
Types:Creature Dinosaur
PT:2/3
K:Vigilance
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigProliferate | TriggerDescription$ When CARDNAME enters the battlefield, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
SVar:TrigProliferate:DB$ Proliferate
DeckHas:Ability$Proliferate
DeckNeeds:Ability$Counters
Oracle:Vigilance\nWhen Huatli's Raptor enters the battlefield, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
Name:Ilharg, the Raze-Boar
ManaCost:3 R R
Types:Legendary Creature Boar God
PT:6/6
K:Trample
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChange | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks, you may put a creature card from your hand onto the battlefield tapped and attacking. Return that creature to your hand at the beginning of the next end step.
SVar:TrigChange:DB$ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.YouCtrl | Tapped$ True | Attacking$ True | RememberChanged$ True | SubAbility$ DBPump
SVar:DBPump:DB$ Animate | AtEOT$ Hand | Defined$ Remembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:HasAttackEffect:TRUE
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigFromGraveyard | OptionalDecider$ You | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
SVar:TrigFromGraveyard:DB$ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Exile | ValidCard$ Card.Self | Execute$ TrigFromExile | OptionalDecider$ You | TriggerController$ TriggeredCardController | Secondary$ True | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
SVar:TrigFromExile:DB$ChangeZone | Defined$ TriggeredCard | Origin$ Exile | Destination$ Library | LibraryPosition$ 2
Oracle:Trample\nWhenever Ilharg, the Raze-Boar attacks, you may put a creature card from your hand onto the battlefield tapped and attacking. Return that creature to your hand at the beginning of the next end step.\nWhen Ilharg, the Raze-Boar dies or is put into exile from the battlefield, you may put it into its owner's library third from the top.
Name:Ironclad Krovod
ManaCost:3 W
Types:Creature Beast
PT:2/5
Oracle:
Name:Jace, Arcane Strategist
ManaCost:4 U U
Types:Legendary Planeswalker Jace
Loyalty:4
T:Mode$ Drawn | ValidCard$ Card.YouCtrl | Number$ 2 | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you draw your second card each turn, put a +1/+1 counter on target creature you control.
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ 1
AI:RemoveDeck:Random
DeckHas:Ability$Counters
A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 1 | Defined$ You | SpellDescription$ Draw a card.
A:AB$ PumpAll | Cost$ SubCounter<7/LOYALTY> | ValidCards$ Creature.YouCtrl | KW$ HIDDEN Unblockable | SpellDescription$ Creatures you control can't be blocked this turn.
Oracle:Whenever you draw your second card each turn, put a +1/+1 counter on target creature you control.\n[+1]: Draw a card.\n[-7]: Creatures you control can't be blocked this turn.
......@@ -7,7 +7,7 @@ SVar:Win:DB$WinsGame | Defined$ You
A:AB$ Mill | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Choose a player | RememberMilled$ True | SubAbility$ DBDraw | SpellDescription$ Target player puts the top two cards of their library into their graveyard. Draw a card.
SVar:DBDraw:DB$ Draw | NumCards$ 1
A:AB$ Draw | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | NumCards$ 7 | SubAbility$ WinGame | SpellDescription$ Draw seven cards. Then if your library has no cards in it, you win the game.
SVar:Win:DB$WinsGame | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X
SVar:Win:DB$WinGame | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X
SVar:X:Count$InYourLibrary
AI:RemoveDeck:Random
Oracle:If you would draw a card while your library has no cards in it, you win the game instead.\n[+1]: Target player puts the top two cards of their library into their graveyard. Draw a card.\n[-8]: Draw seven cards. Then if your library has no cards in it, you win the game.
Name:Jace's Projection
ManaCost:2 U U
Types:Creature Wizard Illusion
PT:2/2
T:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you draw a card, put a +1/+1 counter on CARDNAME.
SVar:TrigPutCounter:DB$PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
A:AB$ PutCounter | Cost$ 3 U | ValidTgts$ Planeswalker.Jace | TgtPrompt$ Select target Jace | CounterType$ LOYALTY | CounterNum$ 1 | SpellDescription$ Put a loyalty counter on target Jace planeswalker.
Oracle:Whenever you draw a card, put a +1/+1 counter on Jace's Projection.\n{3}{U}: Put a loyalty counter on target Jace planeswalker.
Name:Jace's Ruse
ManaCost:3 U U
Types:Sorcery
A:SP$ ChangeZone | Cost$ 3 U U | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBSearch | SpellDescription$ Return up to two target creatures to their owner's hand. You may search your library and/or graveyard for a card named Jace, Arcane Wizards, reveal it, and put it into your hand. If you search your library this way, shuffle it.
SVar:DBSearch:DB$ChangeZone | Origin$ Library,Graveyard | Destination$ Hand | ChangeType$ Card.namedJace; Arcane Strategist | ChangeNum$ 1 | Optional$ True
DeckHints:Name$Jace, Arcane Strategist
Oracle:Return up to two target creatures to their owner's hand. You may search your library and/or graveyard for a card named Jace, Arcane Strategist, reveal it, and put it into your hand. If you search your library this way, shuffle it.
Name:Jace's Triumph
ManaCost:2 U
Types:Sorcery
A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw two cards. If you control a Jace Planeswalker, draw three cards instead.
SVar:Y:Count$Valid Planeswalker.Jace+YouCtrl
SVar:X:Count$Compare Y GE1.3.2
Oracle:Draw two cards. If you control a Jace Planeswalker, draw three cards instead.
\ No newline at end of file
Name:Jaya, Venerated Firemage
ManaCost:4 R
Types:Legendary Planeswalker Jaya
Loyalty:5
R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Card.RedSource+Other+YouCtrl | ValidTarget$ Permanent,Player | ReplaceWith$ DmgPlus1 | Description$ If another red source you control would deal damage to a permanent or player, it deals that much damage plus 1 to that permanent or player instead.
SVar:DmgPlus1:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ X | References$ X
SVar:X:ReplaceCount$DamageAmount/Plus.1
SVar:PlayMain1:TRUE
A:AB$ DealDamage | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to any target.
Oracle:If another red source you control would deal damage to a permanent or player, it deals that much damage plus 1 to that permanent or player instead.\n[-2]: Jaya, Venerated Firemage deals 2 damage to any target.
Name:Jaya's Greeting
ManaCost:1 R
Types:Instant
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SubAbility$ DBScry | SpellDescription$ CARDNAME deals 3 damage to target creature. Scry 1.
SVar:DBScry:DB$ Scry | ScryNum$ 1
Oracle:Jaya's Greeting deals 3 damage to target creature. Scry 1.
Name:Jiang Yanggu, Wildcrafter
ManaCost:2 G
Types:Legendary Planeswalker Yanggu
Loyalty:3
S:Mode$ Continuous | Affected$ Creature.YouCtrl+counters_GE1_P1P1 | AddAbility$ AnyMana | Description$ Each creature you control with a +1/+1 counter on it has "{T}: Add one mana of any color."
SVar:AnyMana:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color.
DeckHints:Ability$Counters
A:AB$ PutCounter | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on target creature.
Oracle:Each creature you control with a +1/+1 counter on it has "{T}: Add one mana of any color."\n[-1]: Put a +1/+1 counter on target creature.
Name:Karn, the Great Creator
ManaCost:4
Types:Legendary Planeswalker Karn
Loyalty:5
S:Mode$ Continuous | Affected$ Artifact.OppCtrl | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of artifacts your opponents control can't be activated.
SVar:NonStackingEffect:True
A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | TargetMin$ 0 | TargetMax$ 1 | Planeswalker$ True | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | Power$ X | Toughness$ X | Types$ Artifact,Creature | References$ X | SpellDescription$ Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness equal to its converted mana cost.
SVar:X:Targeted$CardManaCost
A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Origin$ Sideboard,Exile | Destination$ Hand | ChangeType$ Artifact.YouOwn | ChangeNum$ 1 | SpellDescription$ You may choose an artifact card you own from outside the game or in exile, reveal that card, and put it into your hand.
AI:RemoveDeck:Random
Oracle:Activated abilities of artifacts your opponents control can't be activated.\n[+1]: Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness equal to its converted mana cost.\n[-2]: You may choose an artifact card you own from outside the game or in exile, reveal that card, and put it into your hand.
Name:Karn's Bastion
ManaCost:no cost
Types:Land
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
A:AB$ Proliferate | Cost$ 4 T | SpellDescription$ Proliferate.
Oracle:{T}: Add {C}.\n{4}, {T}: Proliferate.
Name:Kraul Stinger
ManaCost:2 G
Types:Creature Insect Assassin
PT:2/2
K:Deathtouch
Oracle:Deathtouch
Name:Kronch Wrangler
ManaCost:1 G
Types:Creature Human Warrior
PT:2/1
K:Trample
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.powerGE4+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature with power 4 or greater enters the battlefield under your control, put a +1/+1 counter on CARDNAME.
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
SVar:BuffedBy:Creature.powerGE4
Oracle:Trample\nWhenever a creature with power 4 or greater enters the battlefield under your control, put a +1/+1 counter on Kronch Wrangler.
Name:Law-Rune Enforcer
ManaCost:W
Types:Creature Human Soldier
PT:1/2
A:AB$ Tap | Cost$ 1 T | ValidTgts$ Creature.cmcGE2 | TgtPrompt$ Select target creature with converted mana cost 2 or greater | SpellDescription$ Tap target creature with converted mana cost 2 or greater.
Oracle:{1}, {T}: Tap target creature with converted mana cost 2 or greater.
......@@ -6,13 +6,13 @@ T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$
SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1
A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | TokenAmount$ 1 | TokenScript$ b_2_2_zombie | TokenOwner$ You | LegacyImage$ b 2 2 zombie akh | Planeswalker$ True | SpellDescription$ Create a 2/2 black Zombie creature token.
A:AB$ Sacrifice | Cost$ SubCounter<4/LOYALTY> | Amount$ 2 | SacValid$ Creature | Defined$ Player | Planeswalker$ True | SpellDescription$ Each player sacrifices two creatures.
A:AB$ RepeatEach | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | RepeatPlayers$ Player | RepeatSubAbility$ ChooseArtf | SubAbility$ SacAllOthers | SpellDescription$ Each opponent chooses a permanent they control of each permanent type and sacrifices the rest.
A:AB$ RepeatEach | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | RepeatPlayers$ Opponent | RepeatSubAbility$ ChooseArtf | SubAbility$ SacAllOthers | SpellDescription$ Each opponent chooses a permanent they control of each permanent type and sacrifices the rest.
SVar:ChooseArtf:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Artifact.RememberedPlayerCtrl | ChoiceTitle$ Choose an artifact to keep | SubAbility$ ChooseCrtr | RememberChosen$ True | Mandatory$ True
SVar:ChooseCrtr:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.RememberedPlayerCtrl | ChoiceTitle$ Choose a creature to keep | SubAbility$ ChooseEnch | RememberChosen$ True | Mandatory$ True