Merge branch '1530-reality-acid-glitch-with-flicker-of-fate' into 'master'

Resolve "Reality Acid glitch with Flicker of Fate"

Closes #1530

See merge request core-developers/forge!3121
This commit is contained in:
Michael Kamensky
2020-11-09 14:48:08 +00:00
228 changed files with 432 additions and 375 deletions

View File

@@ -155,9 +155,10 @@ public class Game {
public void copyLastState() {
lastStateBattlefield.clear();
lastStateGraveyard.clear();
Map<Integer, Card> cachedMap = Maps.newHashMap();
for (final Player p : getPlayers()) {
lastStateBattlefield.addAll(p.getZone(ZoneType.Battlefield).getLKICopy());
lastStateGraveyard.addAll(p.getZone(ZoneType.Graveyard).getLKICopy());
lastStateBattlefield.addAll(p.getZone(ZoneType.Battlefield).getLKICopy(cachedMap));
lastStateGraveyard.addAll(p.getZone(ZoneType.Graveyard).getLKICopy(cachedMap));
}
}
@@ -171,7 +172,8 @@ public class Game {
: zone.equals(ZoneType.Graveyard) ? lastStateGraveyard
: null;
if (lookup != null && lookup.remove(c)) {
if (lookup != null) {
lookup.remove(c);
lookup.add(CardUtil.getLKICopy(c));
}
}

View File

@@ -105,7 +105,22 @@ public class AbilityUtils {
else if (defined.equals("Equipped")) {
c = hostCard.getEquipping();
}
else if (defined.startsWith("AttachedTo ")) {
String v = defined.split(" ")[1];
for (GameEntity ge : getDefinedEntities(hostCard, v, sa)) {
// TODO handle phased out inside attachedCards
Iterables.addAll(cards, ge.getAttachedCards());
}
}
else if (defined.startsWith("AttachedBy ")) {
String v = defined.split(" ")[1];
for (Card attachment : getDefinedCards(hostCard, v, sa)) {
Card attached = attachment.getAttachedTo();
if (attached != null) {
cards.add(attached);
}
}
}
else if (defined.equals("Enchanted")) {
c = hostCard.getEnchantingCard();
if ((c == null) && (sa != null) && (sa.getRootAbility() != null)

View File

@@ -126,7 +126,6 @@ public class DamageDealEffect extends DamageBaseEffect {
@Override
public void resolve(SpellAbility sa) {
final Card hostCard = sa.getHostCard();
final Player activationPlayer = sa.getActivatingPlayer();
final Game game = hostCard.getGame();
final String damage = sa.getParam("NumDmg");
@@ -152,22 +151,7 @@ public class DamageDealEffect extends DamageBaseEffect {
}
}
final boolean targeted = (sa.usesTargeting());
if (sa.hasParam("Radiance") && targeted) {
Card origin = null;
for (int i = 0; i < tgts.size(); i++) {
if (tgts.get(i) instanceof Card) {
origin = (Card) tgts.get(i);
break;
}
}
// Can't radiate from a player
if (origin != null) {
tgts.addAll(CardUtil.getRadiance(hostCard, origin,
sa.getParam("ValidTgts").split(",")));
}
}
final CardCollection untargetedCards = CardUtil.getRadiance(sa);
final boolean remember = sa.hasParam("RememberDamaged");
@@ -236,7 +220,7 @@ public class DamageDealEffect extends DamageBaseEffect {
tgts = AbilityUtils.getDefinedObjects(source, sa.getParam("Defined"), sa);
}
for (final Object o : tgts) {
for (final GameObject o : tgts) {
if (!removeDamage) {
dmg = (sa.usesTargeting() && sa.hasParam("DividedAsYouChoose")) ? sa.getTargetRestrictions().getDividedValue(o) : dmg;
if (dmg <= 0) {
@@ -250,15 +234,50 @@ public class DamageDealEffect extends DamageBaseEffect {
// timestamp different or not in play
continue;
}
if (!targeted || c.canBeTargetedBy(sa)) {
if (removeDamage) {
if (!sa.usesTargeting() || gc.canBeTargetedBy(sa)) {
internalDamageDeal(sa, sourceLKI, gc, dmg, damageMap, preventMap, counterTable);
}
} else if (o instanceof Player) {
final Player p = (Player) o;
if (!sa.usesTargeting() || p.canBeTargetedBy(sa)) {
p.addDamage(dmg, sourceLKI, false, noPrevention, damageMap, preventMap, counterTable, sa);
}
}
}
for (final Card unTgtC : untargetedCards) {
if (unTgtC.isInPlay()) {
internalDamageDeal(sa, sourceLKI, unTgtC, dmg, damageMap, preventMap, counterTable);
}
}
if (remember) {
source.addRemembered(damageMap.row(sourceLKI).keySet());
}
}
if (!usedDamageMap) {
preventMap.triggerPreventDamage(false);
// non combat damage cause lifegain there
damageMap.triggerDamageDoneOnce(false, game, sa);
preventMap.clear();
damageMap.clear();
}
counterTable.triggerCountersPutAll(game);
replaceDying(sa);
}
protected void internalDamageDeal(SpellAbility sa, Card sourceLKI, Card c, int dmg, CardDamageMap damageMap, CardDamageMap preventMap, GameEntityCounterTable counterTable) {
final Card hostCard = sa.getHostCard();
final Player activationPlayer = sa.getActivatingPlayer();
final boolean noPrevention = sa.hasParam("NoPrevention");
if (sa.hasParam("Remove")) {
c.setDamage(0);
c.setHasBeenDealtDeathtouchDamage(false);
c.clearAssignedDamage();
} else {
if (sa.hasParam("ExcessDamage") && (!sa.hasParam("ExcessDamageCondition") ||
sourceLKI.isValid(sa.getParam("ExcessDamageCondition").split(","), activationPlayer, hostCard, sa))) {
// excess damage explicit says toughness, not lethal damage in the rules
int lethal = c.getLethalDamage();
if (sourceLKI.hasKeyword(Keyword.DEATHTOUCH)) {
lethal = Math.min(lethal, 1);
@@ -279,27 +298,4 @@ public class DamageDealEffect extends DamageBaseEffect {
}
}
}
} else if (o instanceof Player) {
final Player p = (Player) o;
if (!targeted || p.canBeTargetedBy(sa)) {
p.addDamage(dmg, sourceLKI, false, noPrevention, damageMap, preventMap, counterTable, sa);
}
}
}
if (remember) {
source.addRemembered(damageMap.row(sourceLKI).keySet());
}
}
if (!usedDamageMap) {
preventMap.triggerPreventDamage(false);
// non combat damage cause lifegain there
damageMap.triggerDamageDoneOnce(false, game, sa);
preventMap.clear();
damageMap.clear();
}
counterTable.triggerCountersPutAll(game);
replaceDying(sa);
}
}

View File

@@ -9,6 +9,7 @@ import forge.game.GameObject;
import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
@@ -69,21 +70,7 @@ public class DamagePreventEffect extends SpellAbilityEffect {
int numDam = AbilityUtils.calculateAmount(host, sa.getParam("Amount"), sa);
final List<GameObject> tgts = getTargets(sa);
final List<Card> untargetedCards = new ArrayList<>();
if (sa.hasParam("Radiance") && (sa.usesTargeting())) {
Card origin = null;
for (int i = 0; i < tgts.size(); i++) {
if (tgts.get(i) instanceof Card) {
origin = (Card) tgts.get(i);
break;
}
}
if (origin != null) {
// Can't radiate from a player
untargetedCards.addAll(CardUtil.getRadiance(host, origin, sa.getParam("ValidTgts").split(",")));
}
}
final CardCollection untargetedCards = CardUtil.getRadiance(sa);
final boolean targeted = (sa.usesTargeting());
final boolean preventionWithEffect = sa.hasParam("PreventionSubAbility");

View File

@@ -1,5 +1,9 @@
package forge.game.ability.effects;
import java.util.Map;
import com.google.common.collect.Maps;
import forge.game.Game;
import forge.game.GameActionUtil;
import forge.game.ability.AbilityUtils;
@@ -87,9 +91,10 @@ public class DestroyAllEffect extends SpellAbilityEffect {
CardZoneTable table = new CardZoneTable();
Map<Integer, Card> cachedMap = Maps.newHashMap();
for (Card c : list) {
if (game.getAction().destroy(c, sa, !noRegen, table) && remDestroyed) {
card.addRemembered(CardUtil.getLKICopy(c));
card.addRemembered(CardUtil.getLKICopy(c, cachedMap));
}
}
table.triggerChangesZoneAll(game);

View File

@@ -12,6 +12,9 @@ import forge.game.zone.ZoneType;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.google.common.collect.Maps;
public class DestroyEffect extends SpellAbilityEffect {
@Override
@@ -65,46 +68,29 @@ public class DestroyEffect extends SpellAbilityEffect {
final Card card = sa.getHostCard();
final Game game = card.getGame();
final boolean remDestroyed = sa.hasParam("RememberDestroyed");
final boolean remAttached = sa.hasParam("RememberAttached");
if (remDestroyed || remAttached) {
if (sa.hasParam("RememberDestroyed") || sa.hasParam("RememberAttached")) {
card.clearRemembered();
}
final boolean noRegen = sa.hasParam("NoRegen");
final boolean sac = sa.hasParam("Sacrifice");
CardCollection tgtCards = getTargetCards(sa);
CardCollection untargetedCards = new CardCollection();
if (sa.hasParam("Radiance")) {
untargetedCards.addAll(CardUtil.getRadiance(card, tgtCards.get(0),
sa.getParam("ValidTgts").split(",")));
}
CardCollection untargetedCards = CardUtil.getRadiance(sa);
if (tgtCards.size() > 1) {
tgtCards = (CardCollection) GameActionUtil.orderCardsByTheirOwners(game, tgtCards, ZoneType.Graveyard);
}
CardZoneTable table = new CardZoneTable();
Map<Integer, Card> cachedMap = Maps.newHashMap();
for (final Card tgtC : tgtCards) {
if (tgtC.isInPlay() && (!sa.usesTargeting() || tgtC.canBeTargetedBy(sa))) {
boolean destroyed = false;
final Card lki = CardUtil.getLKICopy(tgtC);
if (remAttached) {
card.addRemembered(tgtC.getAttachedCards());
}
if (sac) {
destroyed = game.getAction().sacrifice(tgtC, sa, table) != null;
} else {
destroyed = game.getAction().destroy(tgtC, sa, !noRegen, table);
}
if (destroyed && remDestroyed) {
card.addRemembered(tgtC);
}
if (destroyed && sa.hasParam("RememberLKI")) {
card.addRemembered(lki);
Card gameCard = game.getCardState(tgtC, null);
// gameCard is LKI in that case, the card is not in game anymore
// or the timestamp did change
// this should check Self too
if (gameCard == null || !tgtC.equalsWithTimestamp(gameCard)) {
continue;
}
internalDestroy(gameCard, sa, table, cachedMap);
}
}
@@ -114,18 +100,38 @@ public class DestroyEffect extends SpellAbilityEffect {
for (final Card unTgtC : untargetedCards) {
if (unTgtC.isInPlay()) {
boolean destroyed = false;
if (sac) {
destroyed = game.getAction().sacrifice(unTgtC, sa, table) != null;
} else {
destroyed = game.getAction().destroy(unTgtC, sa, !noRegen, table);
} if (destroyed && remDestroyed) {
card.addRemembered(unTgtC);
}
internalDestroy(unTgtC, sa, table, cachedMap);
}
}
table.triggerChangesZoneAll(game);
}
protected void internalDestroy(Card gameCard, SpellAbility sa, CardZoneTable table, Map<Integer, Card> cachedMap) {
final Card card = sa.getHostCard();
final Game game = card.getGame();
final boolean remDestroyed = sa.hasParam("RememberDestroyed");
final boolean remAttached = sa.hasParam("RememberAttached");
final boolean noRegen = sa.hasParam("NoRegen");
final boolean sac = sa.hasParam("Sacrifice");
boolean destroyed = false;
final Card lki = CardUtil.getLKICopy(gameCard, cachedMap);
if (remAttached) {
card.addRemembered(gameCard.getAttachedCards());
}
if (sac) {
destroyed = game.getAction().sacrifice(gameCard, sa, table) != null;
} else {
destroyed = game.getAction().destroy(gameCard, sa, !noRegen, table);
}
if (destroyed && remDestroyed) {
card.addRemembered(gameCard);
}
if (destroyed && sa.hasParam("RememberLKI")) {
card.addRemembered(lki);
}
}
}

View File

@@ -15,6 +15,9 @@ import forge.util.Localizer;
import forge.util.CardTranslation;
import java.util.List;
import java.util.Map;
import com.google.common.collect.Maps;
/**
* PeeakAndReveal is a simplified why of handling something that could
@@ -65,18 +68,21 @@ public class PeekAndRevealEffect extends SpellAbilityEffect {
// Singletons.getModel().getGameAction().revealCardsToOtherPlayers(peekingPlayer, revealableCards);
if (rememberRevealed) {
Map<Integer, Card> cachedMap = Maps.newHashMap();
for(Card c : revealableCards) {
source.addRemembered(CardUtil.getLKICopy(c));
source.addRemembered(CardUtil.getLKICopy(c, cachedMap));
}
}
if (imprintRevealed) {
Map<Integer, Card> cachedMap = Maps.newHashMap();
for(Card c : revealableCards) {
source.addImprintedCard(CardUtil.getLKICopy(c));
source.addImprintedCard(CardUtil.getLKICopy(c, cachedMap));
}
}
} else if (sa.hasParam("RememberPeeked")) {
Map<Integer, Card> cachedMap = Maps.newHashMap();
for(Card c : revealableCards) {
source.addRemembered(CardUtil.getLKICopy(c));
source.addRemembered(CardUtil.getLKICopy(c, cachedMap));
}
}
}

View File

@@ -6,10 +6,10 @@ import forge.card.MagicColor;
import forge.game.Game;
import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions;
import forge.util.Lang;
import forge.util.TextUtil;
import forge.util.Localizer;
@@ -129,14 +129,7 @@ public class ProtectEffect extends SpellAbilityEffect {
gainsKWList.add(TextUtil.concatWithSpace("Protection from", color));
}
final List<Card> untargetedCards = new ArrayList<>();
final TargetRestrictions tgt = sa.getTargetRestrictions();
if (sa.hasParam("Radiance") && (tgt != null)) {
untargetedCards.addAll(CardUtil.getRadiance(host, tgtCards.get(0),
sa.getParam("ValidTgts").split(",")));
}
final CardCollection untargetedCards = CardUtil.getRadiance(sa);
final long timestamp = game.getNextTimestamp();
@@ -147,7 +140,7 @@ public class ProtectEffect extends SpellAbilityEffect {
}
// if this is a target, make sure we can still target now
if ((tgt != null) && !tgtC.canBeTargetedBy(sa)) {
if (sa.usesTargeting() && !tgtC.canBeTargetedBy(sa)) {
continue;
}

View File

@@ -10,6 +10,7 @@ import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardUtil;
import forge.game.event.GameEventCardStatsChanged;
import forge.game.keyword.KeywordInterface;
@@ -257,8 +258,6 @@ public class PumpEffect extends SpellAbilityEffect {
@Override
public void resolve(final SpellAbility sa) {
final List<Card> untargetedCards = Lists.newArrayList();
final Game game = sa.getActivatingPlayer().getGame();
final Card host = sa.getHostCard();
final long timestamp = game.getNextTimestamp();
@@ -284,6 +283,7 @@ public class PumpEffect extends SpellAbilityEffect {
List<Player> tgtPlayers = getTargetPlayers(sa);
tgts.addAll(tgtCards);
tgts.addAll(tgtPlayers);
final CardCollection untargetedCards = CardUtil.getRadiance(sa);
if (sa.hasParam("DefinedKW")) {
String defined = sa.getParam("DefinedKW");
@@ -383,11 +383,6 @@ public class PumpEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("Radiance")) {
untargetedCards.addAll(CardUtil.getRadiance(host, tgtCards.get(0), sa.getParam("ValidTgts")
.split(",")));
}
final ZoneType pumpZone = sa.hasParam("PumpZone") ? ZoneType.smartValueOf(sa.getParam("PumpZone"))
: ZoneType.Battlefield;

View File

@@ -1,5 +1,9 @@
package forge.game.ability.effects;
import java.util.Map;
import com.google.common.collect.Maps;
import forge.game.Game;
import forge.game.GameActionUtil;
import forge.game.ability.AbilityUtils;
@@ -64,8 +68,9 @@ public class SacrificeAllEffect extends SpellAbilityEffect {
}
CardZoneTable table = new CardZoneTable();
Map<Integer, Card> cachedMap = Maps.newHashMap();
for (Card sac : list) {
final Card lKICopy = CardUtil.getLKICopy(sac);
final Card lKICopy = CardUtil.getLKICopy(sac, cachedMap);
if (game.getAction().sacrifice(sac, sa, table) != null && remSacrificed) {
card.addRemembered(lKICopy);
}

View File

@@ -18,6 +18,8 @@ import forge.util.Aggregates;
import forge.util.Localizer;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Maps;
import java.util.List;
import java.util.Map;
@@ -139,8 +141,9 @@ public class SacrificeEffect extends SpellAbilityEffect {
choosenToSacrifice = GameActionUtil.orderCardsByTheirOwners(game, choosenToSacrifice, ZoneType.Graveyard);
}
Map<Integer, Card> cachedMap = Maps.newHashMap();
for (Card sac : choosenToSacrifice) {
final Card lKICopy = CardUtil.getLKICopy(sac);
final Card lKICopy = CardUtil.getLKICopy(sac, cachedMap);
boolean wasSacrificed = !destroy && game.getAction().sacrifice(sac, sa, table) != null;
boolean wasDestroyed = destroy && game.getAction().destroy(sac, sa, true, table);
// Run Devour Trigger

View File

@@ -3729,11 +3729,11 @@ public class CardFactoryUtil {
+ " | Description$ Totem armor (" + inst.getReminderText() + ")";
String abprevDamage = "DB$ DealDamage | Defined$ ReplacedCard | Remove$ All ";
String abdestory = "DB$ Destroy | Defined$ Self";
String abdestroy = "DB$ Destroy | Defined$ Self";
SpellAbility sa = AbilityFactory.getAbility(abprevDamage, card);
final AbilitySub dessub = (AbilitySub) AbilityFactory.getAbility(abdestory, card);
final AbilitySub dessub = (AbilitySub) AbilityFactory.getAbility(abdestroy, card);
sa.setSubAbility(dessub);

View File

@@ -24,6 +24,7 @@ import forge.card.CardType;
import forge.card.ColorSet;
import forge.card.MagicColor;
import forge.game.Game;
import forge.game.GameEntity;
import forge.game.GameObject;
import forge.game.ability.AbilityKey;
import forge.game.ability.AbilityUtils;
@@ -37,6 +38,7 @@ import io.sentry.Sentry;
import io.sentry.event.BreadcrumbBuilder;
import java.util.List;
import java.util.Map;
import java.util.Set;
public final class CardUtil {
@@ -181,11 +183,41 @@ public final class CardUtil {
}
public static List<Card> getLKICopyList(final Iterable<Card> in, Map<Integer, Card> cachedMap) {
if (in == null) {
return null;
}
List<Card> result = Lists.newArrayList();
for (final Card c : in) {
result.add(getLKICopy(c, cachedMap));
}
return result;
}
public static GameEntity getLKICopy(final GameEntity in, Map<Integer, Card> cachedMap) {
if (in instanceof Card) {
return getLKICopy((Card)in, cachedMap);
}
return in;
}
/**
* @param in a Card to copy.
* @return a copy of C with LastKnownInfo stuff retained.
*/
public static Card getLKICopy(final Card in) {
if (in == null) {
return null;
}
return getLKICopy(in, Maps.newHashMap());
}
public static Card getLKICopy(final Card in, Map<Integer, Card> cachedMap) {
if (in == null) {
return null;
}
Card cachedCard = cachedMap.get(in.getId());
if (cachedCard != null) {
return cachedCard;
}
String msg = "CardUtil:getLKICopy copy object";
Sentry.getContext().recordBreadcrumb(
new BreadcrumbBuilder().setMessage(msg)
@@ -196,6 +228,7 @@ public final class CardUtil {
);
final Card newCopy = new Card(in.getId(), in.getPaperCard(), in.getGame(), null);
cachedMap.put(in.getId(), newCopy);
newCopy.setSetCode(in.getSetCode());
newCopy.setOwner(in.getOwner());
newCopy.setController(in.getController(), 0);
@@ -243,8 +276,8 @@ public final class CardUtil {
newCopy.setReceivedDamageFromPlayerThisTurn(in.getReceivedDamageFromPlayerThisTurn());
newCopy.getDamageHistory().setCreatureGotBlockedThisTurn(in.getDamageHistory().getCreatureGotBlockedThisTurn());
newCopy.setAttachedCards(in.getAttachedCards());
newCopy.setEntityAttachedTo(in.getEntityAttachedTo());
newCopy.setAttachedCards(getLKICopyList(in.getAttachedCards(), cachedMap));
newCopy.setEntityAttachedTo(getLKICopy(in.getEntityAttachedTo(), cachedMap));
newCopy.setHaunting(in.getHaunting());
newCopy.setCopiedPermanent(in.getCopiedPermanent());
@@ -272,7 +305,7 @@ public final class CardUtil {
newCopy.copyChangedTextFrom(in);
newCopy.setMeldedWith(in.getMeldedWith());
newCopy.setMeldedWith(getLKICopy(in.getMeldedWith(), cachedMap));
newCopy.setTimestamp(in.getTimestamp());
@@ -295,26 +328,42 @@ public final class CardUtil {
}
newCopy.setCastFrom(in.getCastFrom());
newCopy.setExiledWith(in.getExiledWith());
newCopy.setExiledWith(getLKICopy(in.getExiledWith(), cachedMap));
return newCopy;
}
public static CardCollection getRadiance(final Card source, final Card origin, final String[] valid) {
final CardCollection res = new CardCollection();
public static CardCollection getRadiance(final SpellAbility sa) {
if (!sa.usesTargeting() || !sa.hasParam("Radiance")) {
return new CardCollection();
}
final Card source = sa.getHostCard();
final Game game = source.getGame();
ColorSet cs = CardUtil.getColors(origin);
final CardCollection res = new CardCollection();
final String[] valid = sa.getParam("ValidTgts").split(",");
final CardCollectionView tgts = sa.getTargets().getTargetCards();
byte combinedColor = 0;
for (Card tgt : tgts) {
ColorSet cs = CardUtil.getColors(tgt);
for (byte color : MagicColor.WUBRG) {
if(!cs.hasAnyColor(color))
continue;
combinedColor |= color;
}
}
for (byte color : MagicColor.WUBRG) {
if ((combinedColor & color) == 0) {
continue;
}
for(final Card c : game.getColoredCardsInPlay(MagicColor.toLongString(color))) {
if (!res.contains(c) && c.isValid(valid, source.getController(), source, null) && !c.equals(origin)) {
if (!res.contains(c) && !tgts.contains(c) && c.isValid(valid, source.getController(), source, sa)) {
res.add(c);
}
}
}
return res;
}

View File

@@ -40,6 +40,7 @@ public class WrappedAbility extends Ability {
ApiType.GainLife,
ApiType.LoseLife,
ApiType.ChangeZone,
ApiType.Destroy,
ApiType.Token
);

View File

@@ -300,14 +300,10 @@ public class Zone implements java.io.Serializable, Iterable<Card> {
return zoneType.toString();
}
public Zone getLKICopy() {
public Zone getLKICopy(Map<Integer, Card> cachedMap) {
Zone result = new Zone(zoneType, game);
final CardCollection list = new CardCollection();
for (final Card c : getCards()) {
list.add(CardUtil.getLKICopy(c));
}
result.setCards(list);
result.setCards(CardUtil.getLKICopyList(getCards(), cachedMap));
return result;
}

View File

@@ -804,7 +804,7 @@ public class GameSimulatorTest extends SimulationTestCase {
assertNotNull(simBrood);
assertEquals(0, simBrood.getDamage());
// destoryed because of to much redirected damage
// destroyed because of to much redirected damage
assertNull(simPalisade);
assertNotNull(simPridemate);

View File

@@ -6,6 +6,6 @@ T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.Green,Creature.White | V
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.Green,Creature.White | Execute$ DelTrigBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a green or white creature, destroy that creature at end of combat.
SVar:DelTrigBlocked:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredAttacker | TriggerDescription$ Destroy blocked creature at end of combat.
SVar:DelTrigBlocker:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredBlocker | TriggerDescription$ Destroy blocking creature at end of combat.
SVar:TrigDestroy:DB$Destroy | Defined$ DelayTriggerRemembered
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered
SVar:Picture:http://www.wizards.com/global/images/magic/general/abomination.jpg
Oracle:Whenever Abomination blocks or becomes blocked by a green or white creature, destroy that creature at end of combat.

View File

@@ -3,6 +3,6 @@ ManaCost:3 W
Types:Creature Thrull Cleric
PT:2/3
K:Haunt:TrigDestroy
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Enchantment | SpellDescription$ Destroy target enchantment.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Enchantment | SpellDescription$ Destroy target enchantment.
SVar:Picture:http://www.wizards.com/global/images/magic/general/absolver_thrull.jpg
Oracle:Haunt (When this creature dies, exile it haunting target creature.)\nWhen Absolver Thrull enters the battlefield or the creature it haunts dies, destroy target enchantment.

View File

@@ -4,7 +4,7 @@ Types:Artifact
A:AB$ Effect | Cost$ 4 T | Name$ Acidic Dagger Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigDam,TrigLeave | SVars$ TrigDestroy,TrigSac,ExileEffect | RememberObjects$ Targeted | ImprintCards$ Self | ActivationPhases$ Upkeep->Declare Attackers | SpellDescription$ Whenever target creature deals combat damage to a non-Wall creature this turn, destroy that non-Wall creature. When the targeted creature leaves the battlefield this turn, sacrifice CARDNAME. Activate this ability only before blockers are declared.
SVar:TrigDam:Mode$ DamageDone | ValidSource$ Creature.IsRemembered | ValidTarget$ Creature.nonWall | CombatDamage$ True | TriggerZones$ Command | Execute$ TrigDestroy | TriggerDescription$ Whenever targeted creature deals combat damage to a non-Wall creature this turn, destroy that non-Wall creature.
SVar:TrigLeave:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ TrigSac | TriggerZones$ Command | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Acidic Dagger.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:TrigSac:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True
AI:RemoveDeck:All

View File

@@ -3,7 +3,7 @@ ManaCost:W
Types:Creature Human Soldier
PT:1/1
T:Mode$ AttackerBlocked | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME blocks a creature, destroy that creature and CARDNAME.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredAttacker | SubAbility$ DestroySelf
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredAttackerLKICopy | SubAbility$ DestroySelf
SVar:DestroySelf:DB$ Destroy | Defined$ Self
SVar:Picture:http://serv2.tcgimages.eu/img/cards/Portal_Second_Age/alaborn_zealot.jpg
Oracle:When Alaborn Zealot blocks a creature, destroy that creature and Alaborn Zealot.

View File

@@ -1,7 +1,7 @@
Name:Apocalypse Chime
ManaCost:2
Types:Artifact
A:AB$DestroyAll | Cost$ 2 T Sac<1/CARDNAME> | ValidCards$ Permanent.nonToken+setHML | NoRegen$ True | SpellDescription$ Destroy all nontoken permanents with a name originally printed in the Homelands expansion. They can't be regenerated.
A:AB$ DestroyAll | Cost$ 2 T Sac<1/CARDNAME> | ValidCards$ Permanent.nonToken+setHML | NoRegen$ True | SpellDescription$ Destroy all nontoken permanents with a name originally printed in the Homelands expansion. They can't be regenerated.
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/apocalypse_chime.jpg
Oracle:{2}, {T}, Sacrifice Apocalypse Chime: Destroy all nontoken permanents with a name originally printed in the Homelands expansion. They can't be regenerated.

View File

@@ -5,7 +5,7 @@ K:Enchant creature
A:SP$ Attach | Cost$ 2 G | ValidTgts$ Creature | AILogic$ Curse | AITgts$ Creature.powerLT4
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME can't attack or block. & CARDNAME's activated abilities can't be activated. | Description$ Enchanted creature can't attack or block and its activated abilities can't be activated.
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | IsPresent$ Creature.EnchantedBy+powerGE4 | Execute$ TrigDestroy | TriggerDescription$ At the beginning of the end step, if enchanted creature's power is 4 or greater, destroy CARDNAME.
SVar:TrigDestroy:DB$Destroy | Defined$ Self
SVar:TrigDestroy:DB$ Destroy | Defined$ Self
DeckHints:Name$Arachnus Spinner
SVar:Picture:http://www.wizards.com/global/images/magic/general/arachnus_web.jpg
Oracle:Enchant creature\nEnchanted creature can't attack or block, and its activated abilities can't be activated.\nAt the beginning of the end step, if enchanted creature's power is 4 or greater, destroy Arachnus Web.

View File

@@ -3,7 +3,7 @@ ManaCost:6
Types:Artifact Equipment
K:Equip:6
T:Mode$ Attacks | ValidCard$ Card.EquippedBy | Execute$ TrigDestroy | TriggerDescription$ Whenever equipped creature attacks, destroy target permanent.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Permanent | TgtPrompt$ Select target permanent
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Permanent | TgtPrompt$ Select target permanent
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 6 | AddToughness$ 6 | AddSVar$ AE | Description$ Equipped creature gets +6/+6.
SVar:AE:SVar:HasAttackEffect:TRUE
SVar:Picture:http://www.wizards.com/global/images/magic/general/argentum_armor.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:2 B B
Types:Legendary Creature Elemental Shaman
PT:4/4
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDestroy | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, choose target creature that player controls. The player sacrifices that creature.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.DefenderCtrl | Sacrifice$ True | TgtPrompt$ Select target creature defending player controls
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.DefenderCtrl | Sacrifice$ True | TgtPrompt$ Select target creature defending player controls
SVar:MustBeBlocked:True
SVar:Picture:http://serv3.tcgimages.eu/img/cards/Eventide/ashling_the_extinguisher.jpg
Oracle:Whenever Ashling, the Extinguisher deals combat damage to a player, choose target creature that player controls. The player sacrifices that creature.

View File

@@ -3,6 +3,6 @@ ManaCost:no cost
Types:Vanguard
HandLifeModifier:+1/-8
T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ You | Execute$ TrigDestroy | TriggerZones$ Command | TriggerDescription$ Whenever a creature deals damage to you, destroy it.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredSource
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredSourceLKICopy
SVar:Picture:https://downloads.cardforge.org/images/cards/VAN/Ashnod.full.jpg
Oracle:Hand +1, life -8\nWhenever a creature deals damage to you, destroy it.

View File

@@ -2,7 +2,7 @@ Name:Aura Shards
ManaCost:1 G W
Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigDestroy | TriggerDescription$ Whenever a creature enters the battlefield under your control, you may destroy target artifact or enchantment.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment
SVar:BuffedBy:Creature
SVar:Picture:http://www.wizards.com/global/images/magic/general/aura_shards.jpg
Oracle:Whenever a creature enters the battlefield under your control, you may destroy target artifact or enchantment.

View File

@@ -3,6 +3,6 @@ ManaCost:3 B
Types:Creature Scorpion
PT:2/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may destroy target creature with power 1 or less.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.powerLE1 | TgtPrompt$ Select target creature with power 1 or less.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.powerLE1 | TgtPrompt$ Select target creature with power 1 or less.
SVar:Picture:http://www.wizards.com/global/images/magic/general/bala_ged_scorpion.jpg
Oracle:When Bala Ged Scorpion enters the battlefield, you may destroy target creature with power 1 or less.

View File

@@ -5,7 +5,7 @@ PT:2/4
K:CantBeBlockedBy Artifact.Creature
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigEndCombat | TriggerDescription$ Whenever CARDNAME becomes blocked by a creature, that creature's controller sacrifices it at end of combat. If the player does, they create a 0/2 colorless Wall artifact creature token with defender.
SVar:TrigEndCombat:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | Execute$ TrigSacBlocker | RememberObjects$ TriggeredBlocker | TriggerDescription$ At end of combat, the controller of the creature that blocked CARDNAME sacrifices that creature. If the player does, they create a 0/2 colorless Wall artifact creature token with defender.
SVar:TrigSacBlocker:DB$Destroy | Defined$ DelayTriggerRemembered | Sacrifice$ True | SubAbility$ DBToken | RememberDestroyed$ True
SVar:TrigSacBlocker:DB$ Destroy | Defined$ DelayTriggerRemembered | Sacrifice$ True | SubAbility$ DBToken | RememberDestroyed$ True
SVar:DBToken:DB$Token | TokenAmount$ 1 | TokenScript$ c_0_2_a_wall_defender | LegacyImage$ c 0 2 a wall defender mir | TokenOwner$ DelayTriggerRememberedController | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/basalt_golem.jpg

View File

@@ -4,7 +4,7 @@ Types:Creature Human Wizard
PT:1/4
K:Kicker:1 G
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, destroy target land.
SVar:TrigKicker:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:TrigKicker:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
DeckHints:Color$Green
SVar:NeedsToPlayKicked:Land.OppCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/benalish_emissary.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:1 B B
Types:Creature Human Rebel Assassin
PT:1/1
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target creature with power 4 or greater. It can't be regenerated.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.powerGE4 | NoRegen$ True | TgtPrompt$ Select target creature with power 4 or greater.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.powerGE4 | NoRegen$ True | TgtPrompt$ Select target creature with power 4 or greater.
K:Madness:B
SVar:Picture:http://www.wizards.com/global/images/magic/general/big_game_hunter.jpg
Oracle:When Big Game Hunter enters the battlefield, destroy target creature with power 4 or greater. It can't be regenerated.\nMadness {B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)

View File

@@ -4,7 +4,7 @@ Types:Enchantment Aura
K:Enchant land
A:SP$ Attach | Cost$ B B | ValidTgts$ Land | AILogic$ Curse
T:Mode$ Taps | ValidCard$ Card.AttachedBy | Execute$ TrigDestroy | TriggerDescription$ When enchanted land becomes tapped, destroy it.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredCard
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredCardLKICopy
SVar:NonStackingAttachEffect:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/blight.jpg
Oracle:Enchant land\nWhen enchanted land becomes tapped, destroy it.

View File

@@ -5,6 +5,6 @@ PT:1/1
K:Flying
K:Echo:2 B
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target nonartifact, nonblack creature.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.nonArtifact+nonBlack | TgtPrompt$ Select target nonartifact, nonblack creature.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonArtifact+nonBlack | TgtPrompt$ Select target nonartifact, nonblack creature.
SVar:Picture:http://www.wizards.com/global/images/magic/general/bone_shredder.jpg
Oracle:Flying\nEcho {2}{B} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)\nWhen Bone Shredder enters the battlefield, destroy target nonartifact, nonblack creature.

View File

@@ -2,6 +2,6 @@ Name:Boompile
ManaCost:4
Types:Artifact
A:AB$ FlipACoin | Cost$ T | WinSubAbility$ DBDestroyAll | SpellDescription$ Flip a coin. If you win the flip, destroy all nonland permanents.
SVar:DBDestroyAll:DB$DestroyAll | ValidCards$ Permanent.nonLand
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.nonLand
SVar:Picture:http://www.wizards.com/global/images/magic/general/boompile.jpg
Oracle:{T}: Flip a coin. If you win the flip, destroy all nonland permanents.

View File

@@ -4,7 +4,7 @@ Types:Enchantment Aura
K:Enchant creature or land
A:SP$ Attach | Cost$ 2 B B | ValidTgts$ Creature,Land | AILogic$ Curse
T:Mode$ Taps | ValidCard$ Card.AttachedBy | Execute$ TrigDestroy | TriggerDescription$ When enchanted permanent becomes tapped, destroy it.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredCard
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredCardLKICopy
SVar:NonStackingAttachEffect:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/brink_of_disaster.jpg
Oracle:Enchant creature or land\nWhen enchanted permanent becomes tapped, destroy it.

View File

@@ -2,7 +2,7 @@ Name:Calming Verse
ManaCost:3 G
Types:Sorcery
A:SP$ DestroyAll | Cost$ 3 G | ValidCards$ Enchantment.YouDontCtrl | SubAbility$ DBDestroyAll | SpellDescription$ Destroy all enchantments you don't control. Then if you control an untapped land, destroy all enchantments you control.
SVar:DBDestroyAll:DB$DestroyAll | ValidCards$ Enchantment.YouCtrl | ConditionPresent$ Land.untapped+YouCtrl | ConditionCompare$ GE1 | ConditionDescription$ If you control an untapped land,
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Enchantment.YouCtrl | ConditionPresent$ Land.untapped+YouCtrl | ConditionCompare$ GE1 | ConditionDescription$ If you control an untapped land,
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/calming_verse.jpg
Oracle:Destroy all enchantments you don't control. Then if you control an untapped land, destroy all enchantments you control.

View File

@@ -4,5 +4,5 @@ Types:Artifact Equipment
K:Equip:1
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 2 | AddToughness$ 0 | AddType$ Pirate | AddKeyword$ Menace | Description$ Equipped creature gets +2/+0, has menace, and is a Pirate in addition to its other creature types.
T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, destroy that permanent.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredObject
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredObjectLKICopy
Oracle:Equipped creature gets +2/+0, has menace, and is a Pirate in addition to its other creature types.\nWhenever Captain's Hook becomes unattached from a permanent, destroy that permanent.\nEquip {1}

View File

@@ -4,6 +4,6 @@ Types:Creature Insect
PT:1/1
K:Flying
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDestroy | CombatDamage$ True | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may destroy target artifact that player controls.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Artifact.DefenderCtrl | TgtPrompt$ Select an artifact your opponent controls.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact.DefenderCtrl | TgtPrompt$ Select an artifact your opponent controls.
SVar:Picture:http://www.wizards.com/global/images/magic/general/caustic_wasps.jpg
Oracle:Flying\nWhenever Caustic Wasps deals combat damage to a player, you may destroy target artifact that player controls.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Kirin Spirit
PT:3/3
K:Flying
T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, destroy all permanents with that spell's converted mana cost.
SVar:TrigDestroyAll:DB$DestroyAll | ValidCards$ Permanent.cmcEQX | References$ X
SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.cmcEQX | References$ X
SVar:X:TriggerCount$CastSACMC
AI:RemoveDeck:All
DeckHints:Type$Spirit|Arcane

View File

@@ -5,6 +5,6 @@ PT:3/4
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ DelTrig | TriggerDescription$ Whenever CARDNAME attacks or blocks, destroy it at end of combat.
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ DelTrig | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks or blocks, destroy it at end of combat.
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigSacrifice | TriggerDescription$ Destroy CARDNAME at end of combat.
SVar:TrigSacrifice:DB$Destroy | Defined$ Self
SVar:TrigSacrifice:DB$ Destroy | Defined$ Self
SVar:Picture:http://www.wizards.com/global/images/magic/general/ceremonial_guard.jpg
Oracle:When Ceremonial Guard attacks or blocks, destroy it at end of combat.

View File

@@ -4,6 +4,6 @@ Types:Legendary Creature Avatar
PT:6/6
K:Trample
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDestroyAll | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is dies, destroy all nonland permanents. They can't be regenerated.
SVar:TrigDestroyAll:DB$DestroyAll | ValidCards$ Permanent.nonLand | NoRegen$ True
SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.nonLand | NoRegen$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/child_of_alara.jpg
Oracle:Trample\nWhen Child of Alara dies, destroy all nonland permanents. They can't be regenerated.

View File

@@ -4,6 +4,6 @@ Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Pump
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigDestroy | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, destroy target nonblack creature.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature
SVar:Picture:http://www.wizards.com/global/images/magic/general/chime_of_night.jpg
Oracle:Enchant creature\nWhen Chime of Night is put into a graveyard from the battlefield, destroy target nonblack creature.

View File

@@ -5,6 +5,6 @@ PT:3/3
K:Defender
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ DelTrig | TriggerDescription$ Whenever CARDNAME blocks, destroy it at end of combat.
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | TriggerDescription$ Destroy CARDNAME at end of combat.
SVar:TrigDestroy:DB$Destroy | Defined$ Self
SVar:TrigDestroy:DB$ Destroy | Defined$ Self
SVar:Picture:http://www.wizards.com/global/images/magic/general/cinder_wall.jpg
Oracle:Defender\nWhen Cinder Wall blocks, destroy it at end of combat.

View File

@@ -7,6 +7,6 @@ T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.nonWall | ValidBlocker$
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.nonWall | Execute$ DelTrigBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a non-Wall creature, destroy that creature at end of combat.
SVar:DelTrigBlocked:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredAttacker | TriggerDescription$ Destroy blocked creature at end of combat.
SVar:DelTrigBlocker:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredBlocker | TriggerDescription$ Destroy blocking creature at end of combat.
SVar:TrigDestroy:DB$Destroy | Defined$ DelayTriggerRemembered
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered
SVar:Picture:http://www.wizards.com/global/images/magic/general/cockatrice.jpg
Oracle:Flying\nWhenever Cockatrice blocks or becomes blocked by a non-Wall creature, destroy that creature at end of combat.

View File

@@ -3,8 +3,8 @@ ManaCost:1 W W
Types:Sorcery
K:Escalate:tapXType<1/Creature>
A:SP$ Charm | Cost$ 1 W W | MinCharmNum$ 1 | CharmNum$ 3 | Choices$ DBDestroyCreature,DBDestroyEnchantment,DBPutCounterAll
SVar:DBDestroyCreature:DB$Destroy | ValidTgts$ Creature.powerGE4 | TgtPrompt$ Select target creature with power 4 or greater | SpellDescription$ Destroy target creature with power 4 or greater.
SVar:DBDestroyEnchantment:DB$Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SpellDescription$ Destroy target enchantment.
SVar:DBDestroyCreature:DB$ Destroy | ValidTgts$ Creature.powerGE4 | TgtPrompt$ Select target creature with power 4 or greater | SpellDescription$ Destroy target creature with power 4 or greater.
SVar:DBDestroyEnchantment:DB$ Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SpellDescription$ Destroy target enchantment.
SVar:DBPutCounterAll:DB$PutCounterAll | ValidTgts$ Player | TgtPrompt$ Select a player | ValidCards$ Creature | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on each creature target player controls.
SVar:Picture:http://www.wizards.com/global/images/magic/general/collective_effort.jpg
Oracle:Escalate—Tap an untapped creature you control. (Pay this cost for each mode chosen beyond the first.)\nChoose one or more —\n• Destroy target creature with power 4 or greater.\n• Destroy target enchantment.\n• Put a +1/+1 counter on each creature target player controls.

View File

@@ -5,7 +5,7 @@ PT:1/1
K:Indestructible
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | CombatDamage$ True | Execute$ TrigFlip | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a creature, flip a coin. If you win the flip, destroy that creature.
SVar:TrigFlip:DB$ FlipACoin | Defined$ You | WinSubAbility$ DBDestroy
SVar:DBDestroy:DB$Destroy | Defined$ TriggeredTarget | NoRegen$ False
SVar:DBDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy | NoRegen$ False
SVar:HasCombatEffect:TRUE
SVar:Picture:http://www.wizards.com/global/images/magic/general/creepy_doll.jpg
Oracle:Indestructible\nWhenever Creepy Doll deals combat damage to a creature, flip a coin. If you win the flip, destroy that creature.

View File

@@ -7,7 +7,7 @@ A:AB$ Dig | Cost$ 2 | DigNum$ 1 | ActivationLimit$ 1 | Reveal$ True | Destinatio
SVar:TrigAnimate:DB$ Animate | Defined$ Self | Triggers$ TrigDamage | sVars$ TrigDestroy | ConditionDefined$ Remembered | ConditionPresent$ Card.Land | ConditionCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME deals damage to a creature, destroy that creature.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/cruel_deceiver.jpg
Oracle:{1}: Look at the top card of your library.\n{2}: Reveal the top card of your library. If it's a land card, Cruel Deceiver gains "Whenever Cruel Deceiver deals damage to a creature, destroy that creature" until end of turn. Activate this ability only once each turn.

View File

@@ -2,6 +2,6 @@ Name:Crumbling Ashes
ManaCost:1 B
Types:Enchantment
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ At the beginning of your upkeep, destroy target creature with a -1/-1 counter on it.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.counters_GE1_M1M1 | TgtPrompt$ Select target creature with a -1/-1 counter on it.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.counters_GE1_M1M1 | TgtPrompt$ Select target creature with a -1/-1 counter on it.
SVar:Picture:http://www.wizards.com/global/images/magic/general/crumbling_ashes.jpg
Oracle:At the beginning of your upkeep, destroy target creature with a -1/-1 counter on it.

View File

@@ -2,7 +2,7 @@ Name:Culling Scales
ManaCost:3
Types:Artifact
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ At the beginning of your upkeep, destroy target nonland permanent with the lowest converted mana cost. (If two or more permanents are tied for lowest cost, target any one of them.)
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Permanent.nonLand+lowestCMC | TgtPrompt$ Select target nonland permanent with the lowest converted mana cost.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Permanent.nonLand+lowestCMC | TgtPrompt$ Select target nonland permanent with the lowest converted mana cost.
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/culling_scales.jpg
Oracle:At the beginning of your upkeep, destroy target nonland permanent with the lowest converted mana cost. (If two or more permanents are tied for lowest cost, target any one of them.)

View File

@@ -3,6 +3,6 @@ ManaCost:4 B B
Types:Creature Human Knight
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target nonblack creature.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature.
SVar:Picture:http://www.wizards.com/global/images/magic/general/dakmor_lancer.jpg
Oracle:When Dakmor Lancer enters the battlefield, destroy target nonblack creature.

View File

@@ -4,6 +4,6 @@ Types:Creature Horror
PT:3/3
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target nonblack creature. It can't be regenerated.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.nonBlack | NoRegen$ True | TgtPrompt$ Select target nonblack creature.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonBlack | NoRegen$ True | TgtPrompt$ Select target nonblack creature.
SVar:Picture:http://www.wizards.com/global/images/magic/general/dark_hatchling.jpg
Oracle:Flying\nWhen Dark Hatchling enters the battlefield, destroy target nonblack creature. It can't be regenerated.

View File

@@ -4,6 +4,6 @@ Types:Creature Human Cleric
PT:1/4
K:Morph:1 W
T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, destroy target enchantment.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment
SVar:Picture:http://www.wizards.com/global/images/magic/general/daru_sanctifier.jpg
Oracle:Morph {1}{W} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)\nWhen Daru Sanctifier is turned face up, destroy target enchantment.

View File

@@ -4,6 +4,6 @@ Types:Creature Human Cleric
PT:2/2
K:Morph:1 W
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDestroy | CombatDamage$ True | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may destroy target enchantment that player controls.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Enchantment.DefenderCtrl | TgtPrompt$ Select an enchantment your opponent controls.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Enchantment.DefenderCtrl | TgtPrompt$ Select an enchantment your opponent controls.
SVar:Picture:http://www.wizards.com/global/images/magic/general/dawning_purist.jpg
Oracle:Whenever Dawning Purist deals combat damage to a player, you may destroy target enchantment that player controls.\nMorph {1}{W} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)

View File

@@ -4,8 +4,8 @@ Types:Artifact Equipment
K:Equip:2
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Creature.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, destroy both creatures.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.AttachedBy | ValidBlocker$ Creature | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever equipped creature blocks or becomes blocked by a creature, destroy both creatures.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredAttacker | SubAbility$ DBDestroy
SVar:DBDestroy:DB$Destroy | Defined$ TriggeredBlocker
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBDestroy
SVar:DBDestroy:DB$ Destroy | Defined$ TriggeredBlockerLKICopy
AI:RemoveDeck:All
SVar:NonStackingAttachEffect:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/dead_iron_sledge.jpg

View File

@@ -3,6 +3,6 @@ ManaCost:2 W
Types:Creature Dwarf Warrior
PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | Revolt$ True | TriggerDescription$ Revolt — When CARDNAME enters the battlefield, if a permanent you controlled left the battlefield this turn, destroy target tapped creature an opponent controls.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.tapped+OppCtrl | TgtPrompt$ Select target tapped creature an opponent controls
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.tapped+OppCtrl | TgtPrompt$ Select target tapped creature an opponent controls
SVar:Picture:http://www.wizards.com/global/images/magic/general/countless_gears_renegade.jpg
Oracle:Revolt — When Deadeye Harpooner enters the battlefield, if a permanent you controlled left the battlefield this turn, destroy target tapped creature an opponent controls.

View File

@@ -4,7 +4,7 @@ Types:Enchantment
S:Mode$ Continuous | Affected$ Creature | AddSVar$ DeathDestroy
SVar:DeathDestroy:SVar:DestroyWhenDamaged:True
T:Mode$ DamageDoneOnce | ValidTarget$ Creature | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature is dealt damage, destroy it. It can't be regenerated.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget | NoRegen$ True
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy | NoRegen$ True
SVar:NonStackingEffect:True
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/death_pits_of_rath.jpg

View File

@@ -2,6 +2,6 @@ Name:Death Rattle
ManaCost:5 B
Types:Instant
K:Delve
A:SP$Destroy | Cost$ 5 B | ValidTgts$ Creature.nonGreen | TgtPrompt$ Select target non-green creature. | NoRegen$ True | SpellDescription$ Destroy target non-green creature. It can't be regenerated.
A:SP$ Destroy | Cost$ 5 B | ValidTgts$ Creature.nonGreen | TgtPrompt$ Select target non-green creature. | NoRegen$ True | SpellDescription$ Destroy target non-green creature. It can't be regenerated.
SVar:Picture:http://www.wizards.com/global/images/magic/general/death_rattle.jpg
Oracle:Delve (Each card you exile from your graveyard while casting this spell pays for {1}.)\nDestroy target nongreen creature. It can't be regenerated.

View File

@@ -6,6 +6,6 @@ T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.nonBlack | ValidBlocker$
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.nonBlack | Execute$ DelTrigBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat.
SVar:DelTrigBlocked:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredAttacker | TriggerDescription$ Destroy blocked creature at end of combat.
SVar:DelTrigBlocker:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredBlocker | TriggerDescription$ Destroy blocking creature at end of combat.
SVar:TrigDestroy:DB$Destroy | Defined$ DelayTriggerRemembered
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered
SVar:Picture:http://www.wizards.com/global/images/magic/general/deathgazer.jpg
Oracle:Whenever Deathgazer blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat.

View File

@@ -6,7 +6,7 @@ A:SP$ ChangeZoneAll | Cost$ 8 R R | ChangeType$ Artifact,Land,Creature | Origin$
T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigDestroyAll | TriggerDescription$ When you cycle CARDNAME, destroy all lands
SVar:DBExileHand:DB$ChangeZoneAll | ChangeType$ Card | Origin$ Hand | Destination$ Exile | SubAbility$ DBExileGraveyard
SVar:DBExileGraveyard:DB$ChangeZoneAll | ChangeType$ Card | Origin$ Graveyard | Destination$ Exile
SVar:TrigDestroyAll:DB$DestroyAll | ValidCards$ Land | SpellDescription$ Destroy all lands.
SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Land | SpellDescription$ Destroy all lands.
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/decree_of_annihilation.jpg
Oracle:Exile all artifacts, creatures, and lands from the battlefield, all cards from all graveyards, and all cards from all hands.\nCycling {5}{R}{R} ({5}{R}{R}, Discard this card: Draw a card.)\nWhen you cycle Decree of Annihilation, destroy all lands.

View File

@@ -5,9 +5,9 @@ PT:5/4
K:Flying
K:Kicker:W W
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+notkicked | Execute$ TrigDestroyYourLand | TriggerDescription$ When CARDNAME enters the battlefield, destroy all lands you control. If it was kicked, destroy all lands instead.
SVar:TrigDestroyYourLand:DB$DestroyAll | ValidCards$ Land.YouCtrl | SpellDescription$ CARDNAME destroys all land you control.
SVar:TrigDestroyYourLand:DB$ DestroyAll | ValidCards$ Land.YouCtrl | SpellDescription$ CARDNAME destroys all land you control.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Secondary$ True | Execute$ TrigKicker | TriggerDescription$ Kicker: If you paid the kicker cost, destroy all lands instead.
SVar:TrigKicker:DB$DestroyAll | ValidCards$ Land | SpellDescription$ CARDNAME destroys all land.
SVar:TrigKicker:DB$ DestroyAll | ValidCards$ Land | SpellDescription$ CARDNAME destroys all land.
AI:RemoveDeck:Random
DeckNeeds:Color$white
SVar:Picture:http://www.wizards.com/global/images/magic/general/desolation_angel.jpg

View File

@@ -5,8 +5,8 @@ PT:3/3
K:Kicker:W W
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+notkicked | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy all other creatures you control. If it was kicked, destroy all other creatures instead.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Secondary$ True | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, destroy all other creatures.
SVar:TrigDestroy:DB$DestroyAll | ValidCards$ Creature.Other+YouCtrl
SVar:TrigKicker:DB$DestroyAll | ValidCards$ Creature.Other
SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.Other+YouCtrl
SVar:TrigKicker:DB$ DestroyAll | ValidCards$ Creature.Other
AI:RemoveDeck:All
AI:RemoveDeck:Random
DeckNeeds:Color$white

View File

@@ -4,6 +4,6 @@ Types:Creature Dragon
PT:4/4
K:Flying
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, destroy target noncreature permanent.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Permanent.nonCreature | TgtPrompt$ Select target noncreature permanent
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Permanent.nonCreature | TgtPrompt$ Select target noncreature permanent
SVar:Picture:http://www.wizards.com/global/images/magic/general/destructor_dragon.jpg
Oracle:Flying\nWhen Destructor Dragon dies, destroy target noncreature permanent.

View File

@@ -3,6 +3,6 @@ ManaCost:1 B
Types:Creature Human Pirate
PT:2/2
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Dinosaur | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME deals damage to a Dinosaur, destroy that creature.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:Picture:http://www.wizards.com/global/images/magic/general/dinosaur_hunter.jpg
Oracle:Whenever Dinosaur Hunter deals damage to a Dinosaur, destroy that creature.

View File

@@ -6,6 +6,6 @@ K:Fear
T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ You | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature deals damage to you, destroy it.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Creature.Self | Execute$ TrigShuffle | TriggerDescription$ When CARDNAME is put into a graveyard from anywhere, shuffle it into its owner's library.
SVar:TrigShuffle:DB$ ChangeZone | Origin$ Graveyard | Destination$ Library | Shuffle$ True | Defined$ TriggeredCardLKICopy
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredSource
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredSourceLKICopy
SVar:Picture:http://www.wizards.com/global/images/magic/general/dread.jpg
Oracle:Fear (This creature can't be blocked except by artifact creatures and/or black creatures.)\nWhenever a creature deals damage to you, destroy it.\nWhen Dread is put into a graveyard from anywhere, shuffle it into its owner's library.

View File

@@ -6,6 +6,6 @@ T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.nonBlack | ValidBlocker$
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.nonBlack | Execute$ DelTrigBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat.
SVar:DelTrigBlocked:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredAttacker | TriggerDescription$ Destroy blocked creature at end of combat.
SVar:DelTrigBlocker:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredBlocker | TriggerDescription$ Destroy blocking creature at end of combat.
SVar:TrigDestroy:DB$Destroy | Defined$ DelayTriggerRemembered
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered
SVar:Picture:http://www.wizards.com/global/images/magic/general/dread_specter.jpg
Oracle:Whenever Dread Specter blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat.

View File

@@ -4,6 +4,6 @@ Types:Creature Zombie
PT:4/1
K:CARDNAME can't block.
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME deals combat damage to a creature, destroy that creature. It can't be regenerated.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredTarget | NoRegen$ True
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy | NoRegen$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/dripping_dead.jpg
Oracle:Dripping Dead can't block.\nWhenever Dripping Dead deals combat damage to a creature, destroy that creature. It can't be regenerated.

View File

@@ -4,7 +4,7 @@ Types:Creature Dwarf Shaman
PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | IsPresent$ Mountain.YouCtrl | PresentCompare$ GE2 | Execute$ TrigDestroyA | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, if you control two or more Mountains, you may destroy target artifact.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | IsPresent$ Plains.YouCtrl | PresentCompare$ GE2 | Execute$ TrigDestroyE | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, if you control two or more Plains, you may destroy target enchantment.
SVar:TrigDestroyA:DB$Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact
SVar:TrigDestroyE:DB$Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment
SVar:TrigDestroyA:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact
SVar:TrigDestroyE:DB$ Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment
SVar:Picture:http://www.wizards.com/global/images/magic/general/duergar_hedge_mage.jpg
Oracle:When Duergar Hedge-Mage enters the battlefield, if you control two or more Mountains, you may destroy target artifact.\nWhen Duergar Hedge-Mage enters the battlefield, if you control two or more Plains, you may destroy target enchantment.

View File

@@ -5,5 +5,5 @@ K:Enchant creature
A:SP$ Attach | Cost$ 2 U | ValidTgts$ Creature | IsCurse$ True | SpellDescription$ Enchant creature
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ -6 | AddToughness$ -0 | Description$ Enchanted creature gets -6/-0.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Creature.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When enchanted creature blocks, destroy it.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredBlocker
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredBlockerLKICopy
Oracle:Enchant creature\nEnchanted creature gets -6/-0.\nWhen enchanted creature blocks, destroy it. (The attacking creature remains blocked.)

View File

@@ -2,7 +2,7 @@ Name:Echoing Calm
ManaCost:1 W
Types:Instant
A:SP$ Destroy | Cost$ 1 W | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SubAbility$ DBDestroyAll | RememberTargets$ True | ForgetOtherTargets$ True | SpellDescription$ Destroy target enchantment and all other enchantments with the same name as that enchantment.
SVar:DBDestroyAll:DB$DestroyAll | ValidCards$ Remembered.Enchantment+Other+sameName | SubAbility$ DBCleanup
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Remembered.Enchantment+Other+sameName | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/echoing_calm.jpg

View File

@@ -2,7 +2,7 @@ Name:Echoing Ruin
ManaCost:1 R
Types:Sorcery
A:SP$ Destroy | Cost$ 1 R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SubAbility$ DBDestroyAll | RememberTargets$ True | ForgetOtherTargets$ True | SpellDescription$ Destroy target artifact and all other artifacts with the same name as that artifact.
SVar:DBDestroyAll:DB$DestroyAll | ValidCards$ Remembered.Artifact+Other+sameName | SubAbility$ DBCleanup
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Remembered.Artifact+Other+sameName | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/echoing_ruin.jpg

View File

@@ -2,6 +2,6 @@ Name:Elvish Hexhunter
ManaCost:GW
Types:Creature Elf Shaman
PT:1/1
A:AB$Destroy | Cost$ GW T Sac<1/CARDNAME> | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SpellDescription$ Destroy target enchantment.
A:AB$ Destroy | Cost$ GW T Sac<1/CARDNAME> | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SpellDescription$ Destroy target enchantment.
SVar:Picture:http://www.wizards.com/global/images/magic/general/elvish_hexhunter.jpg
Oracle:{G/W}, {T}, Sacrifice Elvish Hexhunter: Destroy target enchantment.

View File

@@ -4,8 +4,8 @@ Types:Creature Wurm
PT:7/7
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigDestroyBlocked | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, destroy that creature. You gain life equal to that creature's toughness.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigDestroyBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, destroy that creature. You gain life equal to that creature's toughness.
SVar:TrigDestroyBlocked:DB$Destroy | Defined$ TriggeredAttacker | SubAbility$ DBGainLifeBlocked
SVar:TrigDestroyBlocker:DB$Destroy | Defined$ TriggeredBlocker | SubAbility$ DBGainLifeBlocker
SVar:TrigDestroyBlocked:DB$ Destroy | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBGainLifeBlocked
SVar:TrigDestroyBlocker:DB$ Destroy | Defined$ TriggeredBlockerLKICopy | SubAbility$ DBGainLifeBlocker
SVar:DBGainLifeBlocked:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X
SVar:DBGainLifeBlocker:DB$GainLife | Defined$ You | LifeAmount$ Y | References$ Y
SVar:X:TriggeredAttacker$CardToughness

View File

@@ -4,6 +4,6 @@ Types:Creature Eye
PT:6/3
S:Mode$ Continuous | Affected$ Creature.nonEye+YouCtrl | AddHiddenKeyword$ CARDNAME can't attack. | Description$ Non-Eye creatures you control can't attack.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigDestroyBlocker | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME becomes blocked by a creature, destroy that creature.
SVar:TrigDestroyBlocker:DB$Destroy | Defined$ TriggeredBlocker
SVar:TrigDestroyBlocker:DB$ Destroy | Defined$ TriggeredBlockerLKICopy
SVar:Picture:http://www.wizards.com/global/images/magic/general/evil_eye_of_urborg.jpg
Oracle:Non-Eye creatures you control can't attack.\nWhenever Evil Eye of Urborg becomes blocked by a creature, destroy that creature.

View File

@@ -5,6 +5,6 @@ PT:0/0
# Make Svars for granting abilities and triggers on clones distinct to avoid SVars getting overwritten when cloning a clone
K:ETBReplacement:Copy:DBCopy:Optional
SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | AddAbilities$ EvilTwin | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it has "{U}{B}, {T}: Destroy target creature with the same name as this creature."
SVar:EvilTwin:AB$Destroy | Cost$ U B T | ValidTgts$ Creature.sameName | TgtPrompt$ Select target creature with the same name. | SpellDescription$ Destroy target creature with the same name as this creature.
SVar:EvilTwin:AB$ Destroy | Cost$ U B T | ValidTgts$ Creature.sameName | TgtPrompt$ Select target creature with the same name. | SpellDescription$ Destroy target creature with the same name as this creature.
SVar:Picture:http://www.wizards.com/global/images/magic/general/evil_twin.jpg
Oracle:You may have Evil Twin enter the battlefield as a copy of any creature on the battlefield, except it has "{U}{B}, {T}: Destroy target creature with the same name as this creature."

View File

@@ -2,6 +2,6 @@ Name:Extinction
ManaCost:4 B
Types:Sorcery
A:SP$ ChooseType | Cost$ 4 B | Defined$ You | Type$ Creature | AILogic$ MostProminentOppControls | SubAbility$ DBDestroyAll | SpellDescription$ Destroy all creatures of the creature type of your choice.
SVar:DBDestroyAll:DB$DestroyAll | ValidCards$ Creature.ChosenType
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Creature.ChosenType
SVar:Picture:http://www.wizards.com/global/images/magic/general/extinction.jpg
Oracle:Destroy all creatures of the creature type of your choice.

View File

@@ -4,7 +4,7 @@ Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Curse
T:Mode$ TurnFaceUp | ValidCard$ Card.AttachedBy | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ When enchanted creature is turned face up, destroy it. It can't be regenerated.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredCard | NoRegen$ True
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredCardLKICopy | NoRegen$ True
AI:RemoveDeck:Random
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/fatal_mutation.jpg

View File

@@ -5,7 +5,7 @@ PT:4/4
K:Trample
K:Evoke:4 R
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target land.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select a land.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select a land.
SVar:NeedsToPlayEvoked:Land.OppCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/faultgrinder.jpg
Oracle:Trample\nWhen Faultgrinder enters the battlefield, destroy target land.\nEvoke {4}{R} (You may cast this spell for its evoke cost. If you do, it's sacrificed when it enters the battlefield.)

View File

@@ -4,6 +4,6 @@ Types:Creature Faerie Assassin
PT:2/2
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target creature that was dealt damage this turn.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.wasDealtDamageThisTurn | TgtPrompt$ Select target creature that was dealt damage this turn.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.wasDealtDamageThisTurn | TgtPrompt$ Select target creature that was dealt damage this turn.
SVar:Picture:http://www.wizards.com/global/images/magic/general/final_sting_faerie.jpg
Oracle:Flying\nWhen Final-Sting Faerie enters the battlefield, destroy target creature that was dealt damage this turn.

View File

@@ -3,6 +3,6 @@ ManaCost:4 R
Types:Creature Snake
PT:3/1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, destroy target land.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:Picture:http://serv2.tcgimages.eu/img/cards/Portal/fire_snake.jpg
Oracle:When Fire Snake dies, destroy target land.

View File

@@ -6,6 +6,6 @@ A:SP$ Attach | Cost$ 1 U U | ValidTgts$ Creature | AILogic$ KeepTapped
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | AddSVar$ FrozenSolidDestroy | Description$ Enchanted creature doesn't untap during its controller's untap step.
SVar:FrozenSolidDestroy:SVar:DestroyWhenDamaged:True
T:Mode$ DamageDoneOnce | ValidTarget$ Creature.EnchantedBy | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ When enchanted creature is dealt damage, destroy it.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:Picture:http://www.wizards.com/global/images/magic/general/frozen_solid.jpg
Oracle:Enchant creature\nEnchanted creature doesn't untap during its controller's untap step.\nWhen enchanted creature is dealt damage, destroy it.

View File

@@ -2,6 +2,6 @@ Name:Fumarole
ManaCost:3 B R
Types:Sorcery
A:SP$ Destroy | Cost$ 3 B R PayLife<3> | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBDestroy | SpellDescription$ Destroy target creature and target land.
SVar:DBDestroy:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:DBDestroy:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:Picture:http://www.wizards.com/global/images/magic/general/fumarole.jpg
Oracle:As an additional cost to cast Fumarole, pay 3 life.\nDestroy target creature and target land.

View File

@@ -3,6 +3,6 @@ ManaCost:3 R
Types:Creature Goblin
PT:2/1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, destroy target land.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land
SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_gardener.jpg
Oracle:When Goblin Gardener dies, destroy target land.

View File

@@ -3,7 +3,7 @@ ManaCost:3 R
Types:Creature Goblin
PT:2/2
T:Mode$ AttackerUnblocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDestroyCreature | TriggerDescription$ Whenever CARDNAME attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land.
SVar:TrigDestroyCreature:AB$Destroy | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | Mandatory$ True | SubAbility$ DBDestroyLand
SVar:DBDestroyLand:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select target land | Mandatory$ True
SVar:TrigDestroyCreature:AB$ Destroy | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | Mandatory$ True | SubAbility$ DBDestroyLand
SVar:DBDestroyLand:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land | Mandatory$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_grenadiers.jpg
Oracle:Whenever Goblin Grenadiers attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land.

View File

@@ -3,6 +3,6 @@ ManaCost:1 R
Types:Creature Goblin
PT:2/1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, destroy target Wall.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Wall | TgtPrompt$ Select target wall
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Wall | TgtPrompt$ Select target wall
SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_masons.jpg
Oracle:When Goblin Masons dies, destroy target Wall.

View File

@@ -5,6 +5,6 @@ PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, Goblin creatures get +3/+0 until end of turn.
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ At the beginning of the end step, destroy all Goblins.
SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Goblin | NumAtt$ 3
SVar:TrigDestroy:DB$DestroyAll | ValidCards$ Creature.Goblin
SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.Goblin
AI:RemoveDeck:Random
Oracle:When Goblin Pyromancer enters the battlefield, Goblin creatures get +3/+0 until end of turn.\nAt the beginning of the end step, destroy all Goblins.

View File

@@ -5,7 +5,7 @@ PT:2/1
K:Haste
K:Kicker:R
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, destroy target nonbasic land.
SVar:TrigKicker:DB$Destroy | ValidTgts$ Land.nonBasic | TgtPrompt$ Select target nonbasic land.
SVar:TrigKicker:DB$ Destroy | ValidTgts$ Land.nonBasic | TgtPrompt$ Select target nonbasic land.
SVar:NeedsToPlayKicked:Land.nonBasic+OppCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_ruinblaster.jpg
Oracle:Kicker {R} (You may pay an additional {R} as you cast this spell.)\nHaste\nWhen Goblin Ruinblaster enters the battlefield, if it was kicked, destroy target nonbasic land.

View File

@@ -3,6 +3,6 @@ ManaCost:3 R
Types:Creature Goblin
PT:1/1
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target land.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Land | TgtPrompt$ Select a land.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select a land.
SVar:Picture:http://serv2.tcgimages.eu/img/cards/Starter_1999/goblin_settler.jpg
Oracle:When Goblin Settler enters the battlefield, destroy target land.

View File

@@ -3,6 +3,6 @@ ManaCost:R
Types:Creature Goblin Rogue
PT:1/1
T:Mode$ AttackerUnblocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME attacks and isn't blocked, you may pay {R}. If you do, destroy target artifact defending player controls and CARDNAME assigns no combat damage this turn.
SVar:TrigDestroy:AB$Destroy | Cost$ R | ValidTgts$ Artifact.DefenderCtrl | TgtPrompt$ Select target artifact defending player controls | SubAbility$ DBPump | Mandatory$ True
SVar:TrigDestroy:AB$ Destroy | Cost$ R | ValidTgts$ Artifact.DefenderCtrl | TgtPrompt$ Select target artifact defending player controls | SubAbility$ DBPump | Mandatory$ True
SVar:DBPump:DB$ Pump | Defined$ Self | KW$ HIDDEN CARDNAME assigns no combat damage
Oracle:Whenever Goblin Vandal attacks and isn't blocked, you may pay {R}. If you do, destroy target artifact defending player controls and Goblin Vandal assigns no combat damage this turn.

View File

@@ -6,7 +6,7 @@ T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.nonBlack | ValidBlocker$
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.nonBlack | Execute$ DelTrigBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat.
SVar:DelTrigBlocked:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredAttacker | TriggerDescription$ Destroy blocked creature at end of combat.
SVar:DelTrigBlocker:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | RememberObjects$ TriggeredBlocker | TriggerDescription$ Destroy blocking creature at end of combat.
SVar:TrigDestroy:DB$Destroy | Defined$ DelayTriggerRemembered
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered
K:Madness:B B
SVar:Picture:http://www.wizards.com/global/images/magic/general/gorgon_recluse.jpg
Oracle:Whenever Gorgon Recluse blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat.\nMadness {B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)

View File

@@ -3,7 +3,7 @@ ManaCost:1 B
Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.nonBlack |TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ When a nonblack creature enters the battlefield, sacrifice Grave Peril. If you do, destroy that creature.
SVar:TrigSac:DB$ SacrificeAll | ValidCards$ Card.Self | SubAbility$ DBDestroy | RememberSacrificed$ True
SVar:DBDestroy:DB$ Destroy | Defined$ TriggeredCard | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:DBDestroy:DB$ Destroy | Defined$ TriggeredCardLKICopy | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:NonStackingEffect:True
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/grave_peril.jpg

View File

@@ -3,6 +3,6 @@ ManaCost:no cost
Types:Vanguard
HandLifeModifier:-1/+2
T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Creature | TriggerZones$ Command | Execute$ TrigDestroy | TriggerDescription$ Whenever a creature you control deals damage to a creature, destroy the other creature. It can't be regenerated.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget | NoRegen$ True
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy | NoRegen$ True
SVar:Picture:https://downloads.cardforge.org/images/cards/VAN/Greven il-Vec.full.jpg
Oracle:Hand -1, life +2\nWhenever a creature you control deals damage to a creature, destroy the other creature. It can't be regenerated.

View File

@@ -3,7 +3,7 @@ ManaCost:4 B
Types:Creature Zombie
PT:3/3
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME deals combat damage to a creature, destroy that creature. It can't be regenerated.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredTarget | NoRegen$ True
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy | NoRegen$ True
A:AB$ Pump | Cost$ Discard<1/Card> | Defined$ Self | KW$ Flying | SubAbility$ DBProtect | SpellDescription$ CARDNAME gains flying and protection from green and from white until end of turn.
SVar:DBProtect:DB$ Protection | Defined$ Self | Gains$ green,white
Oracle:Whenever Grotesque Hybrid deals combat damage to a creature, destroy that creature. It can't be regenerated.\nDiscard a card: Grotesque Hybrid gains flying and protection from green and from white until end of turn.

View File

@@ -4,6 +4,6 @@ Types:Creature Demon
PT:6/3
K:Intimidate
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target Angel.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Angel | TgtPrompt$ Select target Angel
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Angel | TgtPrompt$ Select target Angel
SVar:Picture:http://www.wizards.com/global/images/magic/general/halo_hunter.jpg
Oracle:Intimidate (This creature can't be blocked except by artifact creatures and/or creatures that share a color with it.)\nWhen Halo Hunter enters the battlefield, destroy target Angel.

View File

@@ -4,7 +4,7 @@ Types:Creature Giant Warrior
PT:3/3
K:Echo:5 R
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target creature with flying.
SVar:TrigDestroy:DB$Destroy | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying.
SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying.
SVar:NeedsToPlayVar:Y GE6
SVar:Y:Count$Valid Land.YouCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/hammerheim_deadeye.jpg

View File

@@ -5,7 +5,7 @@ PT:1/1
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Sliver.Self | TriggerZones$ Battlefield | Execute$ HarmonicDestroy | TriggerDescription$ When this permanent enters the battlefield, destroy target artifact or enchantment.
S:Mode$ Continuous | Affected$ Sliver.Other | EffectZone$ Battlefield | AffectedZone$ Exile,Graveyard,Hand,Library,Stack,Battlefield,Command | AddTrigger$ HarmonicETB | AddSVar$ HarmonicDestroy | Description$ All Slivers have "When this permanent enters the battlefield, destroy target artifact or enchantment."
SVar:HarmonicETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Sliver.Self | TriggerZones$ Battlefield | Execute$ HarmonicDestroy | TriggerDescription$ When this permanent enters the battlefield, destroy target artifact or enchantment.
SVar:HarmonicDestroy:DB$Destroy | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment.
SVar:HarmonicDestroy:DB$ Destroy | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment.
SVar:BuffedBy:Sliver
SVar:Picture:http://www.wizards.com/global/images/magic/general/harmonic_sliver.jpg
Oracle:All Slivers have "When this permanent enters the battlefield, destroy target artifact or enchantment."

View File

@@ -5,7 +5,7 @@ PT:2/2
K:Flying
K:Kicker:2 B
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, destroy target creature.
SVar:TrigKicker:DB$Destroy | ValidTgts$ Creature | TgtPrompt$ Select target creature.
SVar:TrigKicker:DB$ Destroy | ValidTgts$ Creature | TgtPrompt$ Select target creature.
SVar:PlayMain1:TRUE
SVar:NeedsToPlayKicked:Creature.OppCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/Heartstabber_Mosquito.jpg

View File

@@ -7,7 +7,7 @@ T:Mode$ Attacks | ValidCard$ Creature.YouCtrl+withDeathtouch | TriggerZones$ Bat
SVar:TrigLoseLife:DB$ LoseLife | Defined$ Opponent | LifeAmount$ 1 | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 1
T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl+withDeathtouch | ValidTarget$ Planeswalker | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever a creature you control with deathtouch deals damage to a planeswalker, destroy that planeswalker.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:PlayMain1:TRUE
DeckHas:Ability$LifeGain
DeckHints:Keyword$Deathtouch

View File

@@ -4,6 +4,6 @@ Types:Legendary Creature Spirit
PT:4/4
K:Flying
T:Mode$ BecomesTarget | ValidTarget$ Creature.inZoneBattlefield | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever a creature becomes the target of a spell or ability, destroy that creature.
SVar:TrigDestroy:DB$Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:Picture:http://www.wizards.com/global/images/magic/general/horobi_deaths_wail.jpg
Oracle:Flying\nWhenever a creature becomes the target of a spell or ability, destroy that creature.

View File

@@ -5,7 +5,7 @@ K:Equip:3
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ HotSoupDestroy | AddHiddenKeyword$ Unblockable | Description$ Equipped creature can't be blocked.
SVar:HotSoupDestroy:SVar:DestroyWhenDamaged:True
T:Mode$ DamageDoneOnce | ValidTarget$ Creature.EquippedBy | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ When equipped creature is dealt damage, destroy it.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:NonStackingAttachEffect:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/hot_soup.jpg
Oracle:Equipped creature can't be blocked.\nWhenever equipped creature is dealt damage, destroy it.\nEquip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.)

View File

@@ -2,6 +2,6 @@ Name:Hour of Reckoning
ManaCost:4 W W W
Types:Sorcery
K:Convoke
A:SP$DestroyAll | Cost$ 4 W W W | ValidCards$ Creature.nonToken | SpellDescription$ Destroy all nontoken creatures.
A:SP$ DestroyAll | Cost$ 4 W W W | ValidCards$ Creature.nonToken | SpellDescription$ Destroy all nontoken creatures.
SVar:Picture:http://www.wizards.com/global/images/magic/general/hour_of_reckoning.jpg
Oracle:Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.)\nDestroy all nontoken creatures.

View File

@@ -4,6 +4,6 @@ Types:Enchantment Aura
A:SP$ Attach | Cost$ 1 U | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME can't attack or block. & CARDNAME's activated abilities can't be activated. | Description$ Enchanted creature can't attack or block and its activated abilities can't be activated.
T:Mode$ BecomesTarget | ValidTarget$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When enchanted creature becomes the target of a spell or ability, destroy CARDNAME.
SVar:TrigDestroy:DB$Destroy | Defined$ Self
SVar:TrigDestroy:DB$ Destroy | Defined$ Self
SVar:Picture:http://www.wizards.com/global/images/magic/general/ice_cage.jpg
Oracle:Enchant creature\nEnchanted creature can't attack or block, and its activated abilities can't be activated.\nWhen enchanted creature becomes the target of a spell or ability, destroy Ice Cage.

Some files were not shown because too many files have changed in this diff Show More