Merge pull request #1777 from tool4ever/numBlockers

Fix NumBlockers
This commit is contained in:
Anthony Calosa
2022-11-02 06:15:40 +08:00
committed by GitHub
127 changed files with 177 additions and 214 deletions

View File

@@ -352,7 +352,7 @@ public class AiBlockController {
if (ab.getApi() == ApiType.Pump && "Self".equals(ab.getParam("Defined"))) { if (ab.getApi() == ApiType.Pump && "Self".equals(ab.getParam("Defined"))) {
String rawP = ab.getParam("NumAtt"); String rawP = ab.getParam("NumAtt");
String rawT = ab.getParam("NumDef"); String rawT = ab.getParam("NumDef");
if ("+X".equals(rawP) && "+X".equals(rawT) && "TriggerCount$NumBlockers".equals(card.getSVar("X"))) { if ("+X".equals(rawP) && "+X".equals(rawT) && card.getSVar("X").startsWith("Count$Valid Creature.blockingTriggeredAttacker")) {
return true; return true;
} }
// TODO: maybe also predict calculated bonus above certain threshold? // TODO: maybe also predict calculated bonus above certain threshold?

View File

@@ -1286,8 +1286,8 @@ public class ComputerUtilCombat {
power += Integer.parseInt(att); power += Integer.parseInt(att);
} else { } else {
String bonus = AbilityUtils.getSVar(sa, att); String bonus = AbilityUtils.getSVar(sa, att);
if (bonus.contains("TriggerCount$NumBlockers")) { if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1"); bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee } else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1"); bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
} else if (bonus.contains("TriggeredAttacker$CardPower")) { // e.g. Arahbo, Roar of the World } else if (bonus.contains("TriggeredAttacker$CardPower")) { // e.g. Arahbo, Roar of the World
@@ -1475,8 +1475,8 @@ public class ComputerUtilCombat {
toughness += Integer.parseInt(def); toughness += Integer.parseInt(def);
} else { } else {
String bonus = AbilityUtils.getSVar(sa, def); String bonus = AbilityUtils.getSVar(sa, def);
if (bonus.contains("TriggerCount$NumBlockers")) { if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1"); bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee } else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1"); bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
} }
@@ -1507,8 +1507,8 @@ public class ComputerUtilCombat {
toughness += Integer.parseInt(def); toughness += Integer.parseInt(def);
} else { } else {
String bonus = AbilityUtils.getSVar(sa, def); String bonus = AbilityUtils.getSVar(sa, def);
if (bonus.contains("TriggerCount$NumBlockers")) { if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1"); bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee } else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1"); bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
} }

View File

@@ -4,8 +4,6 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import forge.ai.AiCardMemory; import forge.ai.AiCardMemory;
import forge.ai.ComputerUtilAbility; import forge.ai.ComputerUtilAbility;
@@ -82,7 +80,7 @@ public class ChooseTypeAi extends SpellAbilityAi {
if (maxX > 1) { if (maxX > 1) {
CardCollection cre = CardLists.filter(aiPlayer.getCardsIn(ZoneType.Battlefield), CardCollection cre = CardLists.filter(aiPlayer.getCardsIn(ZoneType.Battlefield),
Predicates.and(CardPredicates.isType(chosenType), CardPredicates.Presets.UNTAPPED)); CardPredicates.isType(chosenType), CardPredicates.Presets.UNTAPPED);
if (!cre.isEmpty()) { if (!cre.isEmpty()) {
for (Card c: cre) { for (Card c: cre) {
avgPower += c.getNetPower(); avgPower += c.getNetPower();

View File

@@ -302,8 +302,8 @@ public class CountersPutAi extends CountersAi {
} }
CardCollection oppCreats = CardLists.filter(ai.getOpponents().getCreaturesInPlay(), CardCollection oppCreats = CardLists.filter(ai.getOpponents().getCreaturesInPlay(),
Predicates.and(Predicates.not(CardPredicates.hasCounter(CounterType.getType(type))), Predicates.not(CardPredicates.hasCounter(CounterType.getType(type))),
CardPredicates.isTargetableBy(sa))); CardPredicates.isTargetableBy(sa));
if (!oppCreats.isEmpty()) { if (!oppCreats.isEmpty()) {
Card bestCreat = ComputerUtilCard.getBestCreatureAI(oppCreats); Card bestCreat = ComputerUtilCard.getBestCreatureAI(oppCreats);

View File

@@ -373,13 +373,8 @@ public class UntapAi extends SpellAbilityAi {
reduced.decreaseShard(ManaCostShard.GENERIC, untappingCards.size()); reduced.decreaseShard(ManaCostShard.GENERIC, untappingCards.size());
if (ComputerUtilMana.canPayManaCost(reduced, ab, ai, false)) { if (ComputerUtilMana.canPayManaCost(reduced, ab, ai, false)) {
CardCollection manaLandsTapped = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardCollection manaLandsTapped = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield),
Predicates.and(Presets.LANDS_PRODUCING_MANA, Presets.TAPPED)); Presets.LANDS_PRODUCING_MANA, Presets.TAPPED);
manaLandsTapped = CardLists.filter(manaLandsTapped, new Predicate<Card>() { manaLandsTapped = CardLists.getValidCards(manaLandsTapped, sa.getParam("ValidTgts"), ai, source, null);
@Override
public boolean apply(Card card) {
return card.isValid(sa.getParam("ValidTgts"), ai, source, null);
}
});
if (!manaLandsTapped.isEmpty()) { if (!manaLandsTapped.isEmpty()) {
// already have a tapped land, so agree to proceed with untapping it // already have a tapped land, so agree to proceed with untapping it
@@ -388,13 +383,8 @@ public class UntapAi extends SpellAbilityAi {
// pool one additional mana by tapping a land to try to ramp to something // pool one additional mana by tapping a land to try to ramp to something
CardCollection manaLands = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardCollection manaLands = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield),
Predicates.and(Presets.LANDS_PRODUCING_MANA, Presets.UNTAPPED)); Presets.LANDS_PRODUCING_MANA, Presets.UNTAPPED);
manaLands = CardLists.filter(manaLands, new Predicate<Card>() { manaLands = CardLists.getValidCards(manaLands, sa.getParam("ValidTgts"), ai, source, null);
@Override
public boolean apply(Card card) {
return card.isValid(sa.getParam("ValidTgts"), ai, source, null);
}
});
if (manaLands.isEmpty()) { if (manaLands.isEmpty()) {
// nothing to untap // nothing to untap

View File

@@ -41,20 +41,17 @@ public enum PlanarDice {
trigRes = Chaos; trigRes = Chaos;
} }
Map<AbilityKey, Object> runParams = AbilityKey.newMap(); Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(roller);
runParams.put(AbilityKey.Player, roller);
runParams.put(AbilityKey.Result, trigRes); runParams.put(AbilityKey.Result, trigRes);
roller.getGame().getTriggerHandler().runTrigger(TriggerType.PlanarDice, runParams,false); roller.getGame().getTriggerHandler().runTrigger(TriggerType.PlanarDice, runParams,false);
// Also run normal RolledDie and RolledDieOnce triggers // Also run normal RolledDie and RolledDieOnce triggers
runParams = AbilityKey.newMap(); runParams = AbilityKey.mapFromPlayer(roller);
runParams.put(AbilityKey.Player, roller);
runParams.put(AbilityKey.Sides, 6); runParams.put(AbilityKey.Sides, 6);
runParams.put(AbilityKey.Result, 0); runParams.put(AbilityKey.Result, 0);
roller.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDie, runParams, false); roller.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDie, runParams, false);
runParams = AbilityKey.newMap(); runParams = AbilityKey.mapFromPlayer(roller);
runParams.put(AbilityKey.Player, roller);
runParams.put(AbilityKey.Sides, 6); runParams.put(AbilityKey.Sides, 6);
runParams.put(AbilityKey.Result, Arrays.asList(0)); runParams.put(AbilityKey.Result, Arrays.asList(0));
roller.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDieOnce, runParams, false); roller.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDieOnce, runParams, false);

View File

@@ -90,7 +90,6 @@ public enum AbilityKey {
NewCounterAmount("NewCounterAmount"), NewCounterAmount("NewCounterAmount"),
NoPreventDamage("NoPreventDamage"), NoPreventDamage("NoPreventDamage"),
Num("Num"), // TODO confirm that this and NumThisTurn can be merged Num("Num"), // TODO confirm that this and NumThisTurn can be merged
NumBlockers("NumBlockers"),
NumThisTurn("NumThisTurn"), NumThisTurn("NumThisTurn"),
Number("Number"), Number("Number"),
Object("Object"), Object("Object"),

View File

@@ -644,7 +644,6 @@ public abstract class SpellAbilityEffect {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Attacker, attacker); runParams.put(AbilityKey.Attacker, attacker);
runParams.put(AbilityKey.Blockers, blockers); runParams.put(AbilityKey.Blockers, blockers);
runParams.put(AbilityKey.NumBlockers, blockers.size());
runParams.put(AbilityKey.Defender, combat.getDefenderByAttacker(attacker)); runParams.put(AbilityKey.Defender, combat.getDefenderByAttacker(attacker));
runParams.put(AbilityKey.DefendingPlayer, combat.getDefenderPlayerByAttacker(attacker)); runParams.put(AbilityKey.DefendingPlayer, combat.getDefenderPlayerByAttacker(attacker));
game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false);

View File

@@ -41,7 +41,6 @@ public class BecomesBlockedEffect extends SpellAbilityEffect {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Attacker, c); runParams.put(AbilityKey.Attacker, c);
runParams.put(AbilityKey.Blockers, Lists.<Card>newArrayList()); runParams.put(AbilityKey.Blockers, Lists.<Card>newArrayList());
runParams.put(AbilityKey.NumBlockers, 0);
runParams.put(AbilityKey.Defender, game.getCombat().getDefenderByAttacker(c)); runParams.put(AbilityKey.Defender, game.getCombat().getDefenderByAttacker(c));
runParams.put(AbilityKey.DefendingPlayer, game.getCombat().getDefenderPlayerByAttacker(c)); runParams.put(AbilityKey.DefendingPlayer, game.getCombat().getDefenderPlayerByAttacker(c));
game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false);

View File

@@ -79,7 +79,6 @@ public class BlockEffect extends SpellAbilityEffect {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Attacker, attacker); runParams.put(AbilityKey.Attacker, attacker);
runParams.put(AbilityKey.Blockers, blockers); runParams.put(AbilityKey.Blockers, blockers);
runParams.put(AbilityKey.NumBlockers, blockers.size());
runParams.put(AbilityKey.Defender, combat.getDefenderByAttacker(attacker)); runParams.put(AbilityKey.Defender, combat.getDefenderByAttacker(attacker));
runParams.put(AbilityKey.DefendingPlayer, combat.getDefenderPlayerByAttacker(attacker)); runParams.put(AbilityKey.DefendingPlayer, combat.getDefenderPlayerByAttacker(attacker));
game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false);

View File

@@ -4,7 +4,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import forge.game.Game; import forge.game.Game;
import forge.game.GameActionUtil; import forge.game.GameActionUtil;
@@ -164,7 +163,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
} }
} }
Map<AbilityKey, Object> moveParams = Maps.newEnumMap(AbilityKey.class); Map<AbilityKey, Object> moveParams = AbilityKey.newMap();
moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield); moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield);
moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard); moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard);

View File

@@ -1074,8 +1074,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
//some kind of reset here? //some kind of reset here?
} }
} }
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(decider);
runParams.put(AbilityKey.Player, decider);
runParams.put(AbilityKey.Target, Lists.newArrayList(player)); runParams.put(AbilityKey.Target, Lists.newArrayList(player));
decider.getGame().getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); decider.getGame().getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false);
} }

View File

@@ -48,12 +48,10 @@ public class ClashEffect extends SpellAbilityEffect {
} }
// Run triggers // Run triggers
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(player);
runParams.put(AbilityKey.Player, player);
runParams.put(AbilityKey.Won, player.equals(winner) ? "True" : "False"); runParams.put(AbilityKey.Won, player.equals(winner) ? "True" : "False");
source.getGame().getTriggerHandler().runTrigger(TriggerType.Clashed, runParams, false); source.getGame().getTriggerHandler().runTrigger(TriggerType.Clashed, runParams, false);
final Map<AbilityKey, Object> runParams2 = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams2 = AbilityKey.mapFromPlayer(opponent);
runParams2.put(AbilityKey.Player, opponent);
runParams2.put(AbilityKey.Won, opponent.equals(winner) ? "True" : "False"); runParams2.put(AbilityKey.Won, opponent.equals(winner) ? "True" : "False");
source.getGame().getTriggerHandler().runTrigger(TriggerType.Clashed, runParams2, false); source.getGame().getTriggerHandler().runTrigger(TriggerType.Clashed, runParams2, false);
} }

View File

@@ -293,8 +293,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
caller.getGame().getAction().notifyOfValue(sa, caller, wonFlip ? Localizer.getInstance().getMessage("lblWin") : Localizer.getInstance().getMessage("lblLose"), null); caller.getGame().getAction().notifyOfValue(sa, caller, wonFlip ? Localizer.getInstance().getMessage("lblWin") : Localizer.getInstance().getMessage("lblLose"), null);
// Run triggers // Run triggers
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(caller);
runParams.put(AbilityKey.Player, caller);
runParams.put(AbilityKey.Result, wonFlip); runParams.put(AbilityKey.Result, wonFlip);
caller.getGame().getTriggerHandler().runTrigger(TriggerType.FlippedCoin, runParams, false); caller.getGame().getTriggerHandler().runTrigger(TriggerType.FlippedCoin, runParams, false);
} while (sa.hasParam("FlipUntilYouLose") && wonFlip); } while (sa.hasParam("FlipUntilYouLose") && wonFlip);

View File

@@ -130,8 +130,7 @@ public class MakeCardEffect extends SpellAbilityEffect {
counterTable.replaceCounterEffect(game, sa, true); counterTable.replaceCounterEffect(game, sa, true);
if (sa.hasParam("Conjure")) { if (sa.hasParam("Conjure")) {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(player);
runParams.put(AbilityKey.Player, player);
runParams.put(AbilityKey.Cards, madeCards); runParams.put(AbilityKey.Cards, madeCards);
runParams.put(AbilityKey.Cause, sa); //-- currently not needed runParams.put(AbilityKey.Cause, sa); //-- currently not needed
game.getTriggerHandler().runTrigger(TriggerType.ConjureAll, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.ConjureAll, runParams, false);

View File

@@ -109,15 +109,13 @@ public class RollDiceEffect extends SpellAbilityEffect {
// Run triggers // Run triggers
for (Integer roll : rolls) { for (Integer roll : rolls) {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(player);
runParams.put(AbilityKey.Player, player);
runParams.put(AbilityKey.Sides, sides); runParams.put(AbilityKey.Sides, sides);
runParams.put(AbilityKey.Modifier, modifier); runParams.put(AbilityKey.Modifier, modifier);
runParams.put(AbilityKey.Result, roll); runParams.put(AbilityKey.Result, roll);
player.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDie, runParams, false); player.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDie, runParams, false);
} }
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(player);
runParams.put(AbilityKey.Player, player);
runParams.put(AbilityKey.Sides, sides); runParams.put(AbilityKey.Sides, sides);
runParams.put(AbilityKey.Result, rolls); runParams.put(AbilityKey.Result, rolls);
player.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDieOnce, runParams, false); player.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDieOnce, runParams, false);

View File

@@ -20,8 +20,7 @@ public class RunChaosEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
Map<AbilityKey, Object> map = AbilityKey.newMap(); Map<AbilityKey, Object> map = AbilityKey.mapFromPlayer(sa.getActivatingPlayer());
map.put(AbilityKey.Player, sa.getActivatingPlayer());
map.put(AbilityKey.Result, PlanarDice.Chaos); map.put(AbilityKey.Result, PlanarDice.Chaos);
List<SpellAbility> validSA = Lists.newArrayList(); List<SpellAbility> validSA = Lists.newArrayList();

View File

@@ -9,7 +9,6 @@ import org.apache.commons.lang3.mutable.MutableBoolean;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.google.common.collect.Table; import com.google.common.collect.Table;
@@ -108,7 +107,7 @@ public abstract class TokenEffectBase extends SpellAbilityEffect {
CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield(); CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield();
CardCollectionView lastStateGraveyard = game.copyLastStateGraveyard(); CardCollectionView lastStateGraveyard = game.copyLastStateGraveyard();
Map<AbilityKey, Object> moveParams = Maps.newEnumMap(AbilityKey.class); Map<AbilityKey, Object> moveParams = AbilityKey.newMap();
moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield); moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield);
moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard); moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard);

View File

@@ -119,7 +119,7 @@ public class CardFactoryUtil {
CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield(); CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield();
CardCollectionView lastStateGraveyard = game.copyLastStateGraveyard(); CardCollectionView lastStateGraveyard = game.copyLastStateGraveyard();
Map<AbilityKey, Object> moveParams = Maps.newEnumMap(AbilityKey.class); Map<AbilityKey, Object> moveParams = AbilityKey.newMap();
moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield); moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield);
moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard); moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard);
@@ -1615,7 +1615,7 @@ public class CardFactoryUtil {
final String n = k[1]; final String n = k[1];
final String trigStr = "Mode$ AttackerBlocked | ValidCard$ Card.Self | TriggerZones$ Battlefield " + final String trigStr = "Mode$ AttackerBlocked | ValidCard$ Card.Self | TriggerZones$ Battlefield " +
" | ValidBlocker$ Creature | MinBlockers$ 1 | Secondary$ True " + " | ValidBlocker$ Creature | Secondary$ True " +
" | TriggerDescription$ Rampage " + n + " (" + inst.getReminderText() + ")"; " | TriggerDescription$ Rampage " + n + " (" + inst.getReminderText() + ")";
final String effect = "DB$ Pump | Defined$ TriggeredAttackerLKICopy" + final String effect = "DB$ Pump | Defined$ TriggeredAttackerLKICopy" +
@@ -1626,7 +1626,7 @@ public class CardFactoryUtil {
SpellAbility sa = AbilityFactory.getAbility(effect, card); SpellAbility sa = AbilityFactory.getAbility(effect, card);
sa.setSVar("Rampage" + n, "SVar$RampageCount/Times." + n); sa.setSVar("Rampage" + n, "SVar$RampageCount/Times." + n);
sa.setSVar("RampageCount", "TriggerCount$NumBlockers/Minus.1"); sa.setSVar("RampageCount", "Count$Valid Creature.blockingTriggeredAttacker/Minus.1");
sa.setIntrinsic(intrinsic); sa.setIntrinsic(intrinsic);
trigger.setOverridingAbility(sa); trigger.setOverridingAbility(sa);
inst.addTrigger(trigger); inst.addTrigger(trigger);

View File

@@ -678,7 +678,7 @@ public class Combat {
// Run Unblocked Trigger // Run Unblocked Trigger
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Attacker, attacker); runParams.put(AbilityKey.Attacker, attacker);
runParams.put(AbilityKey.Defender,getDefenderByAttacker(attacker)); runParams.put(AbilityKey.Defender, getDefenderByAttacker(attacker));
runParams.put(AbilityKey.DefendingPlayer, getDefenderPlayerByAttacker(attacker)); runParams.put(AbilityKey.DefendingPlayer, getDefenderPlayerByAttacker(attacker));
game.getTriggerHandler().runTrigger(TriggerType.AttackerUnblocked, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.AttackerUnblocked, runParams, false);
} }

View File

@@ -236,8 +236,7 @@ public class CostDiscard extends CostPartWithList {
super.handleChangeZoneTrigger(payer, ability, targetCards); super.handleChangeZoneTrigger(payer, ability, targetCards);
if (!targetCards.isEmpty()) { if (!targetCards.isEmpty()) {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(payer);
runParams.put(AbilityKey.Player, payer);
runParams.put(AbilityKey.Cards, new CardCollection(targetCards)); runParams.put(AbilityKey.Cards, new CardCollection(targetCards));
runParams.put(AbilityKey.Cause, ability); runParams.put(AbilityKey.Cause, ability);
runParams.put(AbilityKey.FirstTime, firstTime); runParams.put(AbilityKey.FirstTime, firstTime);

View File

@@ -397,8 +397,7 @@ public class PhaseHandler implements java.io.Serializable {
table.triggerChangesZoneAll(game, null); table.triggerChangesZoneAll(game, null);
if (!discarded.isEmpty()) { if (!discarded.isEmpty()) {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(playerTurn);
runParams.put(AbilityKey.Player, playerTurn);
runParams.put(AbilityKey.Cards, discarded); runParams.put(AbilityKey.Cards, discarded);
runParams.put(AbilityKey.Cause, null); runParams.put(AbilityKey.Cause, null);
runParams.put(AbilityKey.FirstTime, firstDiscarded); runParams.put(AbilityKey.FirstTime, firstDiscarded);
@@ -440,9 +439,8 @@ public class PhaseHandler implements java.io.Serializable {
if (!skipped) { if (!skipped) {
// Run triggers if phase isn't being skipped // Run triggers if phase isn't being skipped
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(playerTurn);
runParams.put(AbilityKey.Phase, phase.nameForScripts); runParams.put(AbilityKey.Phase, phase.nameForScripts);
runParams.put(AbilityKey.Player, playerTurn);
game.getTriggerHandler().runTrigger(TriggerType.Phase, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.Phase, runParams, false);
} }
@@ -519,8 +517,7 @@ public class PhaseHandler implements java.io.Serializable {
game.getCleanup().executeUntil(playerTurn); game.getCleanup().executeUntil(playerTurn);
// "Trigger" for begin turn to get around a phase skipping // "Trigger" for begin turn to get around a phase skipping
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(playerTurn);
runParams.put(AbilityKey.Player, playerTurn);
game.getTriggerHandler().runTrigger(TriggerType.TurnBegin, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.TurnBegin, runParams, false);
} }
planarDiceRolledthisTurn = 0; planarDiceRolledthisTurn = 0;
@@ -794,7 +791,6 @@ public class PhaseHandler implements java.io.Serializable {
final Map<AbilityKey, Object> runParams = AbilityKey.newMap(); final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Attacker, a); runParams.put(AbilityKey.Attacker, a);
runParams.put(AbilityKey.Blockers, blockers); runParams.put(AbilityKey.Blockers, blockers);
runParams.put(AbilityKey.NumBlockers, blockers.size());
runParams.put(AbilityKey.Defender, combat.getDefenderByAttacker(a)); runParams.put(AbilityKey.Defender, combat.getDefenderByAttacker(a));
runParams.put(AbilityKey.DefendingPlayer, combat.getDefenderPlayerByAttacker(a)); runParams.put(AbilityKey.DefendingPlayer, combat.getDefenderPlayerByAttacker(a));
game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false);

View File

@@ -19,6 +19,8 @@ package forge.game.trigger;
import java.util.Map; import java.util.Map;
import com.google.common.collect.Iterables;
import forge.game.ability.AbilityKey; import forge.game.ability.AbilityKey;
import forge.game.card.Card; import forge.game.card.Card;
import forge.game.card.CardLists; import forge.game.card.CardLists;
@@ -59,12 +61,6 @@ public class TriggerAttackerBlocked extends Trigger {
return false; return false;
} }
if (hasParam("MinBlockers")) {
if ((int) runParams.get(AbilityKey.NumBlockers) < Integer.valueOf(getParam("MinBlockers"))) {
return false;
}
}
if (hasParam("ValidBlocker")) { if (hasParam("ValidBlocker")) {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
int count = CardLists.getValidCardCount( int count = CardLists.getValidCardCount(
@@ -89,8 +85,7 @@ public class TriggerAttackerBlocked extends Trigger {
AbilityKey.Attacker, AbilityKey.Attacker,
AbilityKey.Blockers, AbilityKey.Blockers,
AbilityKey.Defender, AbilityKey.Defender,
AbilityKey.DefendingPlayer, AbilityKey.DefendingPlayer
AbilityKey.NumBlockers
); );
} }
@@ -98,7 +93,7 @@ public class TriggerAttackerBlocked extends Trigger {
public String getImportantStackObjects(SpellAbility sa) { public String getImportantStackObjects(SpellAbility sa) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(Localizer.getInstance().getMessage("lblAttacker")).append(": ").append(sa.getTriggeringObject(AbilityKey.Attacker)).append(", "); sb.append(Localizer.getInstance().getMessage("lblAttacker")).append(": ").append(sa.getTriggeringObject(AbilityKey.Attacker)).append(", ");
sb.append(Localizer.getInstance().getMessage("lblNumberBlockers")).append(": ").append(sa.getTriggeringObject(AbilityKey.NumBlockers)); sb.append(Localizer.getInstance().getMessage("lblNumberBlockers")).append(": ").append(Iterables.size((Iterable<Card>) sa.getTriggeringObject(AbilityKey.Blockers)));
return sb.toString(); return sb.toString();
} }
} }

View File

@@ -3,6 +3,6 @@ ManaCost:no cost
Types:Conspiracy Types:Conspiracy
K:Hidden agenda K:Hidden agenda
T:Mode$ Attacks | ValidCard$ Creature.NamedCard+YouCtrl | Execute$ TrigPump | TriggerZones$ Command | TriggerDescription$ Whenever a creature you control with the chosen name attacks, you may pay {W}. If you do, that creature gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) T:Mode$ Attacks | ValidCard$ Creature.NamedCard+YouCtrl | Execute$ TrigPump | TriggerZones$ Command | TriggerDescription$ Whenever a creature you control with the chosen name attacks, you may pay {W}. If you do, that creature gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.)
SVar:TrigPump:AB$ Pump | Cost$ W | Defined$ TriggeredAttacker | KW$ Indestructible SVar:TrigPump:AB$ Pump | Cost$ W | Defined$ TriggeredAttackerLKICopy | KW$ Indestructible
SVar:AgendaLogic:BestCreatureInComputerDeck SVar:AgendaLogic:BestCreatureInComputerDeck
Oracle:Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly choose a card name. You may turn this conspiracy face up any time and reveal that name.)\nWhenever a creature you control with the chosen name attacks, you may pay {W}. If you do, that creature gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) Oracle:Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly choose a card name. You may turn this conspiracy face up any time and reveal that name.)\nWhenever a creature you control with the chosen name attacks, you may pay {W}. If you do, that creature gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.)

View File

@@ -5,5 +5,5 @@ PT:4/4
K:Flying K:Flying
K:Defender K:Defender
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ Animate | TriggerDescription$ When CARDNAME blocks, it becomes a Bird Giant, and it loses defender. T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ Animate | TriggerDescription$ When CARDNAME blocks, it becomes a Bird Giant, and it loses defender.
SVar:Animate:DB$ Animate | Defined$ TriggeredBlocker | Types$ Bird,Giant | RemoveCreatureTypes$ True | RemoveKeywords$ Defender | Duration$ Permanent SVar:Animate:DB$ Animate | Defined$ TriggeredBlockerLKICopy | Types$ Bird,Giant | RemoveCreatureTypes$ True | RemoveKeywords$ Defender | Duration$ Permanent
Oracle:Defender (This creature can't attack.)\nFlying\nWhen Ageless Sentinels blocks, it becomes a Bird Giant, and it loses defender. (It's no longer a Wall. This effect lasts indefinitely.) Oracle:Defender (This creature can't attack.)\nFlying\nWhen Ageless Sentinels blocks, it becomes a Bird Giant, and it loses defender. (It's no longer a Wall. This effect lasts indefinitely.)

View File

@@ -4,6 +4,6 @@ Types:Creature Faerie
PT:1/1 PT:1/1
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigAnimateAttacker | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature becomes green. (This effect lasts indefinitely.) T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigAnimateAttacker | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature becomes green. (This effect lasts indefinitely.)
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigAnimateBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature becomes green. (This effect lasts indefinitely.) T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigAnimateBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature becomes green. (This effect lasts indefinitely.)
SVar:TrigAnimateAttacker:DB$ Animate | Defined$ TriggeredAttacker | Colors$ Green | OverwriteColors$ True | Duration$ Permanent SVar:TrigAnimateAttacker:DB$ Animate | Defined$ TriggeredAttackerLKICopy | Colors$ Green | OverwriteColors$ True | Duration$ Permanent
SVar:TrigAnimateBlocker:DB$ Animate | Defined$ TriggeredBlocker | Colors$ Green | OverwriteColors$ True | Duration$ Permanent SVar:TrigAnimateBlocker:DB$ Animate | Defined$ TriggeredBlockerLKICopy | Colors$ Green | OverwriteColors$ True | Duration$ Permanent
Oracle:Whenever Aisling Leprechaun blocks or becomes blocked by a creature, that creature becomes green. (This effect lasts indefinitely.) Oracle:Whenever Aisling Leprechaun blocks or becomes blocked by a creature, that creature becomes green. (This effect lasts indefinitely.)

View File

@@ -2,7 +2,7 @@ Name:Altar of the Goyf
ManaCost:5 ManaCost:5
Types:Tribal Artifact Lhurgoyf Types:Tribal Artifact Lhurgoyf
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of card types among cards in all graveyards. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of card types among cards in all graveyards.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
S:Mode$ Continuous | Affected$ Creature.Lhurgoyf+YouCtrl | AddKeyword$ Trample | Description$ Lhurgoyf creatures you control have trample. S:Mode$ Continuous | Affected$ Creature.Lhurgoyf+YouCtrl | AddKeyword$ Trample | Description$ Lhurgoyf creatures you control have trample.
SVar:X:Count$CardTypes.ValidGraveyard Card SVar:X:Count$CardTypes.ValidGraveyard Card
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE

View File

@@ -2,7 +2,7 @@ Name:Angelic Exaltation
ManaCost:3 W ManaCost:3 W
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of creatures you control. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of creatures you control.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
SVar:X:Count$Valid Creature.YouCtrl SVar:X:Count$Valid Creature.YouCtrl
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of creatures you control. Oracle:Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of creatures you control.

View File

@@ -2,7 +2,7 @@ Name:Anthem of Rakdos
ManaCost:2 B R R ManaCost:2 B R R
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ AnthemPump | TriggerDescription$ Whenever a creature you control attacks, it gets +2/+0 until end of turn and CARDNAME deals 1 damage to you. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ AnthemPump | TriggerDescription$ Whenever a creature you control attacks, it gets +2/+0 until end of turn and CARDNAME deals 1 damage to you.
SVar:AnthemPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 2 | SubAbility$ RakdosBurn SVar:AnthemPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 2 | SubAbility$ RakdosBurn
SVar:RakdosBurn:DB$ DealDamage | Defined$ You | NumDmg$ 1 SVar:RakdosBurn:DB$ DealDamage | Defined$ You | NumDmg$ 1
R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Card.YouCtrl,Emblem.YouCtrl | ValidTarget$ Permanent,Player | Hellbent$ True | ReplaceWith$ DmgTwice | Description$ Hellbent — As long as you have no cards in hand, if a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead. R:Event$ DamageDone | ActiveZones$ Battlefield | ValidSource$ Card.YouCtrl,Emblem.YouCtrl | ValidTarget$ Permanent,Player | Hellbent$ True | ReplaceWith$ DmgTwice | Description$ Hellbent — As long as you have no cards in hand, if a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.
SVar:DmgTwice:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ X SVar:DmgTwice:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ X

View File

@@ -6,7 +6,7 @@ T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefiel
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Command | IsPresent$ Card.Self | PresentZone$ Command | Execute$ TrigPump1 | Secondary$ True T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Command | IsPresent$ Card.Self | PresentZone$ Command | Execute$ TrigPump1 | Secondary$ True
SVar:TrigPump1:DB$ Pump | ValidTgts$ Creature.Cat+YouCtrl+Other | TgtPrompt$ Select another target Cat you control | NumAtt$ 3 | NumDef$ 3 SVar:TrigPump1:DB$ Pump | ValidTgts$ Creature.Cat+YouCtrl+Other | TgtPrompt$ Select another target Cat you control | NumAtt$ 3 | NumDef$ 3
T:Mode$ Attacks | ValidCard$ Creature.Cat+Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump2 | TriggerDescription$ Whenever another Cat you control attacks, you may pay {1}{G}{W}. If you do, it gains trample and gets +X/+X until end of turn, where X is its power. T:Mode$ Attacks | ValidCard$ Creature.Cat+Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump2 | TriggerDescription$ Whenever another Cat you control attacks, you may pay {1}{G}{W}. If you do, it gains trample and gets +X/+X until end of turn, where X is its power.
SVar:TrigPump2:AB$ Pump | Cost$ 1 G W | Defined$ TriggeredAttacker | KW$ Trample | NumAtt$ X | NumDef$ X SVar:TrigPump2:AB$ Pump | Cost$ 1 G W | Defined$ TriggeredAttackerLKICopy | KW$ Trample | NumAtt$ X | NumDef$ X
SVar:X:TriggeredAttacker$CardPower SVar:X:TriggeredAttacker$CardPower
SVar:BuffedBy:Cat SVar:BuffedBy:Cat
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE

View File

@@ -4,7 +4,7 @@ Types:Creature Human Samurai
PT:4/3 PT:4/3
K:Haste K:Haste
T:Mode$ Attacks | ValidCard$ Samurai.YouCtrl,Warrior.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Samurai or Warrior you control attacks alone, it gets +1/+0 until end of turn for each Samurai or Warrior you control. T:Mode$ Attacks | ValidCard$ Samurai.YouCtrl,Warrior.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Samurai or Warrior you control attacks alone, it gets +1/+0 until end of turn for each Samurai or Warrior you control.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X
SVar:X:Count$Valid Samurai.YouCtrl,Warrior.YouCtrl SVar:X:Count$Valid Samurai.YouCtrl,Warrior.YouCtrl
DeckHints:Type$Samurai|Warrior DeckHints:Type$Samurai|Warrior
Oracle:Haste\nWhenever a Samurai or Warrior you control attacks alone, it gets +1/+0 until end of turn for each Samurai or Warrior you control. Oracle:Haste\nWhenever a Samurai or Warrior you control attacks alone, it gets +1/+0 until end of turn for each Samurai or Warrior you control.

View File

@@ -5,7 +5,7 @@ PT:6/4
K:Flying K:Flying
K:Trample K:Trample
T:Mode$ Attacks | ValidCard$ Dragon.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Dragon you control attacks, it gains double strike until end of turn. T:Mode$ Attacks | ValidCard$ Dragon.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Dragon you control attacks, it gains double strike until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
SVar:BuffedBy:Dragon SVar:BuffedBy:Dragon
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
DeckHints:Type$Dragon DeckHints:Type$Dragon

View File

@@ -2,7 +2,7 @@ Name:Barbed Foliage
ManaCost:2 G G ManaCost:2 G G
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You | Execute$ TrigDebuff | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature attacks you, it loses flanking until end of turn. T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You | Execute$ TrigDebuff | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature attacks you, it loses flanking until end of turn.
SVar:TrigDebuff:DB$ Debuff | Defined$ TriggeredAttacker | Keywords$ Flanking SVar:TrigDebuff:DB$ Debuff | Defined$ TriggeredAttackerLKICopy | Keywords$ Flanking
T:Mode$ Attacks | ValidCard$ Creature.withoutFlying | Attacked$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature without flying attacks you, CARDNAME deals 1 damage to it. T:Mode$ Attacks | ValidCard$ Creature.withoutFlying | Attacked$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature without flying attacks you, CARDNAME deals 1 damage to it.
SVar:TrigDamage:DB$ DealDamage | NumDmg$ 1 | Defined$ TriggeredAttacker SVar:TrigDamage:DB$ DealDamage | NumDmg$ 1 | Defined$ TriggeredAttacker
Oracle:Whenever a creature attacks you, it loses flanking until end of turn.\nWhenever a creature without flying attacks you, Barbed Foliage deals 1 damage to it. Oracle:Whenever a creature attacks you, it loses flanking until end of turn.\nWhenever a creature without flying attacks you, Barbed Foliage deals 1 damage to it.

View File

@@ -4,6 +4,6 @@ Types:Instant
A:SP$ Pump | Cost$ 2 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ Trample | SubAbility$ DBEffect | SpellDescription$ Target creature gains trample until end of turn. When that creature becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it. A:SP$ Pump | Cost$ 2 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ Trample | SubAbility$ DBEffect | SpellDescription$ Target creature gains trample until end of turn. When that creature becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it.
SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | Triggers$ TrigBounce | ForgetOnMoved$ Battlefield SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | Triggers$ TrigBounce | ForgetOnMoved$ Battlefield
SVar:TrigBounce:Mode$ AttackerBlocked | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ ABBarrelingPump | TriggerDescription$ When CARDNAME becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it. SVar:TrigBounce:Mode$ AttackerBlocked | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ ABBarrelingPump | TriggerDescription$ When CARDNAME becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it.
SVar:ABBarrelingPump:DB$ Pump | Defined$ Remembered | NumAtt$ +BarrelingX | NumDef$ +BarrelingX SVar:ABBarrelingPump:DB$ Pump | Defined$ RememberedLKI | NumAtt$ +BarrelingX | NumDef$ +BarrelingX
SVar:BarrelingX:TriggerCount$NumBlockers SVar:BarrelingX:Count$Valid Creature.blockingTriggeredAttacker
Oracle:Target creature gains trample until end of turn. When that creature becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it. Oracle:Target creature gains trample until end of turn. When that creature becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it.

View File

@@ -4,6 +4,6 @@ Types:Instant
A:SP$ UntapAll | Cost$ 2 W | ValidCards$ Creature.White+YouCtrl | SubAbility$ Battlecry | SpellDescription$ Untap all white creatures you control. Whenever a creature blocks this turn, it gets +0/+1 until end of turn. A:SP$ UntapAll | Cost$ 2 W | ValidCards$ Creature.White+YouCtrl | SubAbility$ Battlecry | SpellDescription$ Untap all white creatures you control. Whenever a creature blocks this turn, it gets +0/+1 until end of turn.
SVar:Battlecry:DB$ Effect | Triggers$ TrigBlocking SVar:Battlecry:DB$ Effect | Triggers$ TrigBlocking
SVar:TrigBlocking:Mode$ AttackerBlocked | Execute$ Pump | TriggerDescription$ Whenever a creature blocks this turn, it gets +0/+1 until end of turn. SVar:TrigBlocking:Mode$ AttackerBlocked | Execute$ Pump | TriggerDescription$ Whenever a creature blocks this turn, it gets +0/+1 until end of turn.
SVar:Pump:DB$ Pump | Defined$ TriggeredBlocker | NumDef$ 1 SVar:Pump:DB$ Pump | Defined$ TriggeredBlockerLKICopy | NumDef$ 1
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:Untap all white creatures you control.\nWhenever a creature blocks this turn, it gets +0/+1 until end of turn. Oracle:Untap all white creatures you control.\nWhenever a creature blocks this turn, it gets +0/+1 until end of turn.

View File

@@ -5,6 +5,6 @@ PT:4/4
K:Flying K:Flying
K:Exalted K:Exalted
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gains lifelink until end of turn. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gains lifelink until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Lifelink SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
DeckHas:Ability$LifeGain DeckHas:Ability$LifeGain
Oracle:Flying\nExalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, it gains lifelink until end of turn. Oracle:Flying\nExalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, it gains lifelink until end of turn.

View File

@@ -5,6 +5,6 @@ K:Enchant creature
A:SP$ Attach | Cost$ 2 G | ValidTgts$ Creature | AILogic$ Pump A:SP$ Attach | Cost$ 2 G | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.enchanted+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures you control that are enchanted get +1/+1. S:Mode$ Continuous | Affected$ Creature.enchanted+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures you control that are enchanted get +1/+1.
T:Mode$ AttackerBlocked | ValidCard$ Creature.enchanted+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control that's enchanted becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. T:Mode$ AttackerBlocked | ValidCard$ Creature.enchanted+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control that's enchanted becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers SVar:X:Count$Valid Creature.blockingTriggeredAttacker
Oracle:Enchant creature\nCreatures you control that are enchanted get +1/+1.\nWhenever a creature you control that's enchanted becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. Oracle:Enchant creature\nCreatures you control that are enchanted get +1/+1.\nWhenever a creature you control that's enchanted becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.

View File

@@ -3,7 +3,7 @@ ManaCost:4 G
Types:Creature Beast Types:Creature Beast
PT:3/3 PT:3/3
T:Mode$ AttackerBlocked | ValidCard$ Beast | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. T:Mode$ AttackerBlocked | ValidCard$ Beast | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers SVar:X:Count$Valid Creature.blockingTriggeredAttacker
DeckHints:Type$Beast DeckHints:Type$Beast
Oracle:Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. Oracle:Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.

View File

@@ -7,5 +7,5 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S
T:Mode$ AttackerBlocked | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever enchanted creature becomes blocked, it gets +4/+0 and gains trample until end of turn. T:Mode$ AttackerBlocked | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever enchanted creature becomes blocked, it gets +4/+0 and gains trample until end of turn.
SVar:DelTrigSlowtrip:DB$ DelayedTrigger | NextTurn$ True | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ DrawSlowtrip | TriggerDescription$ Draw a card. SVar:DelTrigSlowtrip:DB$ DelayedTrigger | NextTurn$ True | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ DrawSlowtrip | TriggerDescription$ Draw a card.
SVar:DrawSlowtrip:DB$ Draw | NumCards$ 1 | Defined$ You SVar:DrawSlowtrip:DB$ Draw | NumCards$ 1 | Defined$ You
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +4 | KW$ Trample SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +4 | KW$ Trample
Oracle:Enchant creature\nWhen Bestial Fury enters the battlefield, draw a card at the beginning of the next turn's upkeep.\nWhenever enchanted creature becomes blocked, it gets +4/+0 and gains trample until end of turn. Oracle:Enchant creature\nWhen Bestial Fury enters the battlefield, draw a card at the beginning of the next turn's upkeep.\nWhenever enchanted creature becomes blocked, it gets +4/+0 and gains trample until end of turn.

View File

@@ -2,5 +2,5 @@ Name:Briar Patch
ManaCost:1 G G ManaCost:1 G G
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks you, it gets -1/-0 until end of turn. T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks you, it gets -1/-0 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ -1 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ -1
Oracle:Whenever a creature attacks you, it gets -1/-0 until end of turn. Oracle:Whenever a creature attacks you, it gets -1/-0 until end of turn.

View File

@@ -4,6 +4,6 @@ Types:Creature Dragon
PT:4/4 PT:4/4
K:Flying K:Flying
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.nonArtifact+nonDragon | Execute$ TrigPumpBlocker | TriggerDescription$ Whenever CARDNAME becomes blocked by a nonartifact, non-Dragon creature, that creature gets -X/-0 until end of turn, where X is half the creature's power, rounded down. T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.nonArtifact+nonDragon | Execute$ TrigPumpBlocker | TriggerDescription$ Whenever CARDNAME becomes blocked by a nonartifact, non-Dragon creature, that creature gets -X/-0 until end of turn, where X is half the creature's power, rounded down.
SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlocker | NumAtt$ -X SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlockerLKICopy | NumAtt$ -X
SVar:X:TriggeredBlocker$CardPower/HalfDown SVar:X:TriggeredBlocker$CardPower/HalfDown
Oracle:Flying\nWhenever Catacomb Dragon becomes blocked by a nonartifact, non-Dragon creature, that creature gets -X/-0 until end of turn, where X is half the creature's power, rounded down. Oracle:Flying\nWhenever Catacomb Dragon becomes blocked by a nonartifact, non-Dragon creature, that creature gets -X/-0 until end of turn, where X is half the creature's power, rounded down.

View File

@@ -4,7 +4,7 @@ Types:Artifact Creature Equipment Insect
PT:2/2 PT:2/2
K:Reconfigure:2 K:Reconfigure:2
T:Mode$ Attacks | ValidCard$ Card.Self,Creature.EquippedBy | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME or equipped creature attacks, it gets +2/+0 until end of turn. T:Mode$ Attacks | ValidCard$ Card.Self,Creature.EquippedBy | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME or equipped creature attacks, it gets +2/+0 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 2 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 2
SVar:HasAttackEffect:TRUE SVar:HasAttackEffect:TRUE
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE
SVar:AE:SVar:HasAttackEffect:TRUE SVar:AE:SVar:HasAttackEffect:TRUE

View File

@@ -1,6 +1,7 @@
Name:Choking Sands Name:Choking Sands
ManaCost:1 B B ManaCost:1 B B
Types:Sorcery Types:Sorcery
A:SP$ Destroy | Cost$ 1 B B | ValidTgts$ Land.nonSwamp | TgtPrompt$ Select target non-Swamp land | SubAbility$ DBDamage | SpellDescription$ Destroy target non-Swamp land. If that land was nonbasic, CARDNAME deals 2 damage to the land's controller. A:SP$ Destroy | Cost$ 1 B B | ValidTgts$ Land.nonSwamp | TgtPrompt$ Select target non-Swamp land | RememberLKI$ True | SubAbility$ DBDamage | SpellDescription$ Destroy target non-Swamp land. If that land was nonbasic, CARDNAME deals 2 damage to the land's controller.
SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 2 | ConditionDefined$ Targeted | ConditionPresent$ Land.Basic | ConditionCompare$ EQ0 | ConditionDescription$ If that land is nonbasic, SVar:DBDamage:DB$ DealDamage | Defined$ RememberedController | NumDmg$ 2 | ConditionDefined$ RememberedLKI | ConditionPresent$ Land.Basic | ConditionCompare$ EQ0 | ConditionDescription$ If that land is nonbasic, | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Destroy target non-Swamp land. If that land was nonbasic, Choking Sands deals 2 damage to the land's controller. Oracle:Destroy target non-Swamp land. If that land was nonbasic, Choking Sands deals 2 damage to the land's controller.

View File

@@ -3,5 +3,5 @@ ManaCost:1 U
Types:Creature Merfolk Cleric Types:Creature Merfolk Cleric
PT:1/3 PT:1/3
T:Mode$ AttackerBlocked | ValidBlocker$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME blocks a creature, that creature doesn't untap during its controller's next untap step. T:Mode$ AttackerBlocked | ValidBlocker$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME blocks a creature, that creature doesn't untap during its controller's next untap step.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent
Oracle:Whenever Cleric of Chill Depths blocks a creature, that creature doesn't untap during its controller's next untap step. Oracle:Whenever Cleric of Chill Depths blocks a creature, that creature doesn't untap during its controller's next untap step.

View File

@@ -2,7 +2,7 @@ Name:Crown of Doom
ManaCost:3 ManaCost:3
Types:Artifact Types:Artifact
T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You,Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks you or a planeswalker you control, it gets +2/+0 until end of turn. T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You,Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks you or a planeswalker you control, it gets +2/+0 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +2 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +2
A:AB$ GainControl | Cost$ 2 | Defined$ Self | ValidTgts$ Player.OtherThanSourceOwner | TgtPrompt$ Select target player other than the owner | PlayerTurn$ True | SpellDescription$ Target player other than CARDNAME's owner gains control of it. Activate only during your turn. A:AB$ GainControl | Cost$ 2 | Defined$ Self | ValidTgts$ Player.OtherThanSourceOwner | TgtPrompt$ Select target player other than the owner | PlayerTurn$ True | SpellDescription$ Target player other than CARDNAME's owner gains control of it. Activate only during your turn.
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:Whenever a creature attacks you or a planeswalker you control, it gets +2/+0 until end of turn.\n{2}: Target player other than Crown of Doom's owner gains control of it. Activate only during your turn. Oracle:Whenever a creature attacks you or a planeswalker you control, it gets +2/+0 until end of turn.\n{2}: Target player other than Crown of Doom's owner gains control of it. Activate only during your turn.

View File

@@ -3,7 +3,7 @@ ManaCost:5 R
Types:Creature Beholder Types:Creature Beholder
PT:5/5 PT:5/5
T:Mode$ Attacks | ValidCard$ Creature.OppCtrl | Attacked$ Opponent | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature an opponent controls attacks one of your opponents, double its power until end of turn. T:Mode$ Attacks | ValidCard$ Creature.OppCtrl | Attacked$ Opponent | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature an opponent controls attacks one of your opponents, double its power until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +Y | Double$ True SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +Y | Double$ True
SVar:Y:TriggeredAttacker$CardPower SVar:Y:TriggeredAttacker$CardPower
K:Monstrosity:X:X X R K:Monstrosity:X:X X R
SVar:X:Count$xPaid SVar:X:Count$xPaid

View File

@@ -5,8 +5,8 @@ PT:1/3
K:Reach K:Reach
S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Hexproof | IsPresent$ Card.Self+notattacking | Description$ Teleport — CARDNAME has hexproof unless he's attacking. S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Hexproof | IsPresent$ Card.Self+notattacking | Description$ Teleport — CARDNAME has hexproof unless he's attacking.
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl+withReach | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever a creature you control with reach attacks, untap it and it can't be blocked by creatures with greater power this combat. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl+withReach | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever a creature you control with reach attacks, untap it and it can't be blocked by creatures with greater power this combat.
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBAnimate SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBAnimate
SVar:DBAnimate:DB$ Animate | Defined$ TriggeredAttacker | staticAbilities$ CantBeBlockedPow | Duration$ UntilEndOfCombat SVar:DBAnimate:DB$ Animate | Defined$ TriggeredAttackerLKICopy | staticAbilities$ CantBeBlockedPow | Duration$ UntilEndOfCombat
SVar:CantBeBlockedPow:Mode$ CantBlockBy | ValidAttacker$ Card.Self | ValidBlocker$ Creature.powerGTX | Description$ CARDNAME can't be blocked by creatures with greater power this combat. SVar:CantBeBlockedPow:Mode$ CantBlockBy | ValidAttacker$ Card.Self | ValidBlocker$ Creature.powerGTX | Description$ CARDNAME can't be blocked by creatures with greater power this combat.
SVar:X:Count$CardPower SVar:X:Count$CardPower
T:Mode$ DamageDoneOnce | CombatDamage$ True | ValidSource$ Creature.YouCtrl | TriggerZones$ Battlefield | ValidTarget$ Player | Execute$ TrigDraw | TriggerDescription$ Fierce Punch — Whenever one or more creatures you control deal combat damage to a player, draw a card. T:Mode$ DamageDoneOnce | CombatDamage$ True | ValidSource$ Creature.YouCtrl | TriggerZones$ Battlefield | ValidTarget$ Player | Execute$ TrigDraw | TriggerDescription$ Fierce Punch — Whenever one or more creatures you control deal combat damage to a player, draw a card.

View File

@@ -5,7 +5,7 @@ T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | E
SVar:DBLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBAmass SVar:DBLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBAmass
SVar:DBAmass:DB$ Amass | Num$ 1 SVar:DBAmass:DB$ Amass | Num$ 1
T:Mode$ Attacks | ValidCard$ Creature.Zombie+token+YouCtrl+powerGE6 | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn. T:Mode$ Attacks | ValidCard$ Creature.Zombie+token+YouCtrl+powerGE6 | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Zombie token you control with power 6 or greater attacks, it gains lifelink until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Lifelink SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
SVar:AICastPreference:NeverCastIfLifeBelow$ 4 SVar:AICastPreference:NeverCastIfLifeBelow$ 4
DeckHints:Ability$Amass & Type$Zombie DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token DeckHas:Ability$Amass|Counters|Token

View File

@@ -2,9 +2,9 @@ Name:Dream Fighter
ManaCost:2 U ManaCost:2 U
Types:Creature Human Soldier Types:Creature Human Soldier
PT:1/1 PT:1/1
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPhaseAttacker | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, Dream Fighter and that creature phase out. T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPhaseAttacker | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, CARDNAME and that creature phase out.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | TriggerZones$ Battlefield | Execute$ TrigPhaseBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, Dream Fighter and that creature phase out. T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | TriggerZones$ Battlefield | Execute$ TrigPhaseBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, CARDNAME and that creature phase out.
SVar:TrigPhaseAttacker:DB$ Phases | Defined$ TriggeredAttacker | SubAbility$ DBPhaseSelf SVar:TrigPhaseAttacker:DB$ Phases | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBPhaseSelf
SVar:TrigPhaseBlocker:DB$ Phases | Defined$ TriggeredBlocker | SubAbility$ DBPhaseSelf SVar:TrigPhaseBlocker:DB$ Phases | Defined$ TriggeredBlockerLKICopy | SubAbility$ DBPhaseSelf
SVar:DBPhaseSelf:DB$ Phases | Defined$ Self SVar:DBPhaseSelf:DB$ Phases | Defined$ Self
Oracle:Whenever Dream Fighter blocks or becomes blocked by a creature, Dream Fighter and that creature phase out. (While they're phased out, they're treated as though they don't exist. Each one phases in before its controller untaps during their next untap step.) Oracle:Whenever Dream Fighter blocks or becomes blocked by a creature, Dream Fighter and that creature phase out. (While they're phased out, they're treated as though they don't exist. Each one phases in before its controller untaps during their next untap step.)

View File

@@ -1,5 +1,5 @@
Name:Echo Chamber Name:Echo Chamber
ManaCost:4 ManaCost:4
Types:Artifact Types:Artifact
A:AB$ CopyPermanent | Cost$ 4 T | ValidTgts$ Creature | TargetingPlayer$ Player.Opponent | TargetingPlayerControls$ True | TgtPrompt$ Select target creature you control | PumpKeywords$ Haste | AtEOT$ Exile | SorcerySpeed$ True | SpellDescription$ An opponent chooses target creature they control. Create a token that's a copy of that creature. That token gains haste until end of turn. Exile the token at the beginning of the next end step. Activate only as a sorcery. A:AB$ CopyPermanent | Cost$ 4 T | ValidTgts$ Creature | TargetingPlayer$ Player.Opponent | TargetingPlayerControls$ True | TgtPrompt$ Select target creature you control | PumpKeywords$ Haste | PumpDuration$ EOT | AtEOT$ Exile | SorcerySpeed$ True | SpellDescription$ An opponent chooses target creature they control. Create a token that's a copy of that creature. That token gains haste until end of turn. Exile the token at the beginning of the next end step. Activate only as a sorcery.
Oracle:{4}, {T}: An opponent chooses target creature they control. Create a token that's a copy of that creature. That token gains haste until end of turn. Exile the token at the beginning of the next end step. Activate only as a sorcery. Oracle:{4}, {T}: An opponent chooses target creature they control. Create a token that's a copy of that creature. That token gains haste until end of turn. Exile the token at the beginning of the next end step. Activate only as a sorcery.

View File

@@ -3,6 +3,6 @@ ManaCost:1 W
Types:Enchantment Creature Human Samurai Types:Enchantment Creature Human Samurai
PT:2/1 PT:2/1
T:Mode$ Attacks | ValidCard$ Samurai.YouCtrl,Warrior.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Samurai or Warrior you control attacks alone, it gets +1/+1 until end of turn. T:Mode$ Attacks | ValidCard$ Samurai.YouCtrl,Warrior.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Samurai or Warrior you control attacks alone, it gets +1/+1 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 1 | NumDef$ 1 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 1 | NumDef$ 1
DeckHints:Type$Samurai|Warrior DeckHints:Type$Samurai|Warrior
Oracle:Whenever a Samurai or Warrior you control attacks alone, it gets +1/+1 until end of turn. Oracle:Whenever a Samurai or Warrior you control attacks alone, it gets +1/+1 until end of turn.

View File

@@ -5,5 +5,5 @@ PT:5/5
K:Defender K:Defender
K:Trample K:Trample
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigDebuff | TriggerDescription$ When CARDNAME blocks, it loses defender. T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigDebuff | TriggerDescription$ When CARDNAME blocks, it loses defender.
SVar:TrigDebuff:DB$ Debuff | Keywords$ Defender | Defined$ TriggeredBlocker | Duration$ Permanent SVar:TrigDebuff:DB$ Debuff | Keywords$ Defender | Defined$ TriggeredBlockerLKICopy | Duration$ Permanent
Oracle:Defender, trample\nWhen Elder Land Wurm blocks, it loses defender. Oracle:Defender, trample\nWhen Elder Land Wurm blocks, it loses defender.

View File

@@ -4,5 +4,5 @@ Types:Creature Elf Berserker
PT:1/1 PT:1/1
T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers SVar:X:Count$Valid Creature.blockingTriggeredAttacker
Oracle:Whenever Elvish Berserker becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. Oracle:Whenever Elvish Berserker becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.

View File

@@ -2,8 +2,7 @@ Name:Elvish Reclaimer
ManaCost:G ManaCost:G
Types:Creature Elf Warrior Types:Creature Elf Warrior
PT:1/2 PT:1/2
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE3 | Description$ CARDNAME gets +2/+2 as long as there are three or more land cards in your graveyard. S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | IsPresent$ Land.YouOwn | PresentZone$ Graveyard | PresentCompare$ GE3 | Description$ CARDNAME gets +2/+2 as long as there are three or more land cards in your graveyard.
SVar:X:Count$TypeInYourYard.Land
A:AB$ ChangeZone | Cost$ 2 T Sac<1/Land> | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ 1 | Tapped$ True | SpellDescription$ Search your library for a land card, put it onto the battlefield tapped, then shuffle. A:AB$ ChangeZone | Cost$ 2 T Sac<1/Land> | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ 1 | Tapped$ True | SpellDescription$ Search your library for a land card, put it onto the battlefield tapped, then shuffle.
AI:RemoveDeck:Random AI:RemoveDeck:Random
Oracle:Elvish Reclaimer gets +2/+2 as long as there are three or more land cards in your graveyard.\n{2}, {T}, Sacrifice a land: Search your library for a land card, put it onto the battlefield tapped, then shuffle. Oracle:Elvish Reclaimer gets +2/+2 as long as there are three or more land cards in your graveyard.\n{2}, {T}, Sacrifice a land: Search your library for a land card, put it onto the battlefield tapped, then shuffle.

View File

@@ -3,7 +3,7 @@ ManaCost:1 W
Types:Sorcery Types:Sorcery
A:SP$ Effect | Cost$ 1 W | ReplacementEffects$ FDRep | StaticAbilities$ FDManaConvertion | SubAbility$ DBDraw | SpellDescription$ Until end of turn, spells and abilities you control that would add colored mana instead add that much white mana. Until end of turn, you may spend white mana as though it were mana of any color. Draw a card. A:SP$ Effect | Cost$ 1 W | ReplacementEffects$ FDRep | StaticAbilities$ FDManaConvertion | SubAbility$ DBDraw | SpellDescription$ Until end of turn, spells and abilities you control that would add colored mana instead add that much white mana. Until end of turn, you may spend white mana as though it were mana of any color. Draw a card.
SVar:DBDraw:DB$ Draw | NumCards$ 1 SVar:DBDraw:DB$ Draw | NumCards$ 1
SVar:FDRep:Event$ ProduceMana | ActiveZones$ Command | ValidCard$ Card.YouCtrl | ReplaceWith$ ProduceW | Description$ Spells and abilities you control that would add colored mana add that much white mana instead. SVar:FDRep:Event$ ProduceMana | ActiveZones$ Command | ValidAbility$ SpellAbility.YouCtrl | ReplaceWith$ ProduceW | Description$ Spells and abilities you control that would add colored mana add that much white mana instead.
SVar:ProduceW:DB$ ReplaceMana | ReplaceColor$ W SVar:ProduceW:DB$ ReplaceMana | ReplaceColor$ W
SVar:FDManaConvertion:Mode$ Continuous | EffectZone$ Command | Affected$ You | ManaConversion$ W->AnyColor | Description$ You may spend white mana as though it were mana of any color. SVar:FDManaConvertion:Mode$ Continuous | EffectZone$ Command | Affected$ You | ManaConversion$ W->AnyColor | Description$ You may spend white mana as though it were mana of any color.
AI:RemoveDeck:All AI:RemoveDeck:All

View File

@@ -2,7 +2,7 @@ Name:Feast of Worms
ManaCost:3 G G ManaCost:3 G G
Types:Sorcery Arcane Types:Sorcery Arcane
A:SP$ Destroy | Cost$ 3 G G | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBSacrifice | AlwaysRemember$ True | RememberLKI$ True | SpellDescription$ Destroy target land. If that land was legendary, its controller sacrifices another land. A:SP$ Destroy | Cost$ 3 G G | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBSacrifice | AlwaysRemember$ True | RememberLKI$ True | SpellDescription$ Destroy target land. If that land was legendary, its controller sacrifices another land.
SVar:DBSacrifice:DB$ Sacrifice | Defined$ RememberedController | SacValid$ Land | ConditionDefined$ Remembered | ConditionPresent$ Land.Legendary | ConditionCompare$ EQ1 | ConditionDescription$ If that land was legendary, | SubAbility$ DBCleanup SVar:DBSacrifice:DB$ Sacrifice | Defined$ RememberedController | SacValid$ Land | ConditionDefined$ RememberedLKI | ConditionPresent$ Land.Legendary | ConditionCompare$ EQ1 | ConditionDescription$ If that land was legendary, | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
AI:RemoveDeck:Random AI:RemoveDeck:Random
Oracle:Destroy target land. If that land was legendary, its controller sacrifices another land. Oracle:Destroy target land. If that land was legendary, its controller sacrifices another land.

View File

@@ -2,6 +2,6 @@ Name:Fervent Charge
ManaCost:1 W B R ManaCost:1 W B R
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks, it gets +2/+2 until end of turn. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks, it gets +2/+2 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +2 | NumDef$ +2 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +2 | NumDef$ +2
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Whenever a creature you control attacks, it gets +2/+2 until end of turn. Oracle:Whenever a creature you control attacks, it gets +2/+2 until end of turn.

View File

@@ -1,6 +1,7 @@
Name:Filigree Fracture Name:Filigree Fracture
ManaCost:2 G ManaCost:2 G
Types:Instant Types:Instant
A:SP$ Destroy | Cost$ 2 G | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SubAbility$ DBDraw | SpellDescription$ Destroy target artifact or enchantment. If that permanent was blue or black, draw a card. A:SP$ Destroy | Cost$ 2 G | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | RememberLKI$ True | SubAbility$ DBDraw | SpellDescription$ Destroy target artifact or enchantment. If that permanent was blue or black, draw a card.
SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Targeted | ConditionPresent$ Permanent.Blue,Permanent.Black | ConditionCompare$ EQ1 | ConditionDescription$ If that permanent was blue or black, SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ RememberedLKI | ConditionPresent$ Permanent.Blue,Permanent.Black | ConditionCompare$ EQ1 | ConditionDescription$ If that permanent was blue or black, | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Destroy target artifact or enchantment. If that permanent was blue or black, draw a card. Oracle:Destroy target artifact or enchantment. If that permanent was blue or black, draw a card.

View File

@@ -3,7 +3,7 @@ ManaCost:2 G W U
Types:Enchantment Types:Enchantment
K:Exalted K:Exalted
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigUntap | FirstCombat$ True | TriggerDescription$ Whenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigUntap | FirstCombat$ True | TriggerDescription$ Whenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase.
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBAddCombat SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBAddCombat
SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase. Oracle:Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase.

View File

@@ -5,6 +5,6 @@ PT:2/3
K:Flying K:Flying
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigBlocks | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigBlocks | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigBlocked | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigBlocked | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn.
SVar:TrigBlocks:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +1 | NumDef$ +1 SVar:TrigBlocks:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +1 | NumDef$ +1
SVar:TrigBlocked:DB$ Pump | Defined$ TriggeredBlocker | NumAtt$ +1 | NumDef$ +1 SVar:TrigBlocked:DB$ Pump | Defined$ TriggeredBlockerLKICopy | NumAtt$ +1 | NumDef$ +1
Oracle:Flying\nWhenever Flailing Drake blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn. Oracle:Flying\nWhenever Flailing Drake blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn.

View File

@@ -3,5 +3,5 @@ ManaCost:2 R G W
Types:Legendary Creature Beast Types:Legendary Creature Beast
PT:4/4 PT:4/4
T:Mode$ Attacks | ValidCard$ Creature | Attacked$ Player.Opponent,Planeswalker.OppCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks one of your opponents or a planeswalker an opponent controls, that creature gets +2/+0 until end of turn. T:Mode$ Attacks | ValidCard$ Creature | Attacked$ Player.Opponent,Planeswalker.OppCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks one of your opponents or a planeswalker an opponent controls, that creature gets +2/+0 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +2 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +2
Oracle:Whenever a creature attacks one of your opponents or a planeswalker an opponent controls, that creature gets +2/+0 until end of turn. Oracle:Whenever a creature attacks one of your opponents or a planeswalker an opponent controls, that creature gets +2/+0 until end of turn.

View File

@@ -4,5 +4,5 @@ Types:Creature Elk Beast
PT:5/4 PT:5/4
T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +2/+2 until end of turn for each creature blocking it. T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +2/+2 until end of turn for each creature blocking it.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers/Times.2 SVar:X:Count$Valid Creature.blockingTriggeredAttacker/Times.2
Oracle:Whenever Gang of Elk becomes blocked, it gets +2/+2 until end of turn for each creature blocking it. Oracle:Whenever Gang of Elk becomes blocked, it gets +2/+2 until end of turn for each creature blocking it.

View File

@@ -9,5 +9,5 @@ SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X
SVar:X:TargetedLKI$CardToughness SVar:X:TargetedLKI$CardToughness
A:AB$ Effect | Cost$ SubCounter<8/LOYALTY> | ValidTgts$ Opponent | EffectOwner$ Targeted | Planeswalker$ True | Ultimate$ True | Name$ Emblem - Garruk, Apex Predator | Image$ emblem_garruk_apex_predator | Triggers$ TrigAttackYou | Duration$ Permanent | AILogic$ Always | SpellDescription$ Target opponent gets an emblem with "Whenever a creature attacks you, it gets +5/+5 and gains trample until end of turn." A:AB$ Effect | Cost$ SubCounter<8/LOYALTY> | ValidTgts$ Opponent | EffectOwner$ Targeted | Planeswalker$ True | Ultimate$ True | Name$ Emblem - Garruk, Apex Predator | Image$ emblem_garruk_apex_predator | Triggers$ TrigAttackYou | Duration$ Permanent | AILogic$ Always | SpellDescription$ Target opponent gets an emblem with "Whenever a creature attacks you, it gets +5/+5 and gains trample until end of turn."
SVar:TrigAttackYou:Mode$ Attacks | ValidCard$ Creature | Attacked$ You | TriggerZones$ Command | Execute$ DBPump | TriggerDescription$ Whenever a creature attacks you, it gets +5/+5 and gains trample until end of turn. SVar:TrigAttackYou:Mode$ Attacks | ValidCard$ Creature | Attacked$ You | TriggerZones$ Command | Execute$ DBPump | TriggerDescription$ Whenever a creature attacks you, it gets +5/+5 and gains trample until end of turn.
SVar:DBPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 5 | NumDef$ 5 | KW$ Trample SVar:DBPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 5 | NumDef$ 5 | KW$ Trample
Oracle:[+1]: Destroy another target planeswalker.\n[+1]: Create a 3/3 black Beast creature token with deathtouch.\n[-3]: Destroy target creature. You gain life equal to its toughness.\n[-8]: Target opponent gets an emblem with "Whenever a creature attacks you, it gets +5/+5 and gains trample until end of turn." Oracle:[+1]: Destroy another target planeswalker.\n[+1]: Create a 3/3 black Beast creature token with deathtouch.\n[-3]: Destroy target creature. You gain life equal to its toughness.\n[-8]: Target opponent gets an emblem with "Whenever a creature attacks you, it gets +5/+5 and gains trample until end of turn."

View File

@@ -4,7 +4,7 @@ Types:Sorcery
A:SP$ Effect | Triggers$ TrigAttackerUnblocked | SpellDescription$ Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn. A:SP$ Effect | Triggers$ TrigAttackerUnblocked | SpellDescription$ Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn.
SVar:TrigAttackerUnblocked:Mode$ AttackerUnblocked | ValidCard$ Creature.YouCtrl | Execute$ Damage | OptionalDecider$ You | TriggerDescription$ Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn. SVar:TrigAttackerUnblocked:Mode$ AttackerUnblocked | ValidCard$ Creature.YouCtrl | Execute$ Damage | OptionalDecider$ You | TriggerDescription$ Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn.
SVar:Damage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump SVar:Damage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ HIDDEN CARDNAME assigns no combat damage SVar:DBPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ HIDDEN CARDNAME assigns no combat damage
SVar:X:TriggeredAttacker$CardPower SVar:X:TriggeredAttacker$CardPower
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn. Oracle:Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn.

View File

@@ -3,6 +3,6 @@ ManaCost:2 R G
Types:Legendary Creature Elf Warrior Types:Legendary Creature Elf Warrior
PT:4/4 PT:4/4
T:Mode$ AttackerBlocked | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control becomes blocked, it gets +3/+3 until end of turn for each creature blocking it. T:Mode$ AttackerBlocked | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control becomes blocked, it gets +3/+3 until end of turn for each creature blocking it.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers/Times.3 SVar:X:Count$Valid Creature.blockingTriggeredAttacker/Times.3
Oracle:Whenever a creature you control becomes blocked, it gets +3/+3 until end of turn for each creature blocking it. Oracle:Whenever a creature you control becomes blocked, it gets +3/+3 until end of turn for each creature blocking it.

View File

@@ -2,6 +2,6 @@ Name:Gloomlance
ManaCost:3 B B ManaCost:3 B B
Types:Sorcery Types:Sorcery
A:SP$ Destroy | Cost$ 3 B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | AlwaysRemember$ True | RememberLKI$ True | SubAbility$ DBDiscard | SpellDescription$ Destroy target creature. If that creature was green or white, its controller discards a card. A:SP$ Destroy | Cost$ 3 B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | AlwaysRemember$ True | RememberLKI$ True | SubAbility$ DBDiscard | SpellDescription$ Destroy target creature. If that creature was green or white, its controller discards a card.
SVar:DBDiscard:DB$ Discard | Defined$ RememberedController | NumCards$ 1 | Mode$ TgtChoose | ConditionDefined$ Remembered | ConditionPresent$ Card.Green,Card.White | SubAbility$ DBCleanup SVar:DBDiscard:DB$ Discard | Defined$ RememberedController | NumCards$ 1 | Mode$ TgtChoose | ConditionDefined$ RememberedLKI | ConditionPresent$ Card.Green,Card.White | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Destroy target creature. If that creature was green or white, its controller discards a card. Oracle:Destroy target creature. If that creature was green or white, its controller discards a card.

View File

@@ -1,6 +1,7 @@
Name:Gloomwidow's Feast Name:Gloomwidow's Feast
ManaCost:3 G ManaCost:3 G
Types:Instant Types:Instant
A:SP$ Destroy | Cost$ 3 G | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | SubAbility$ DBToken | SpellDescription$ Destroy target creature with flying. If that creature was blue or black, create a 1/2 green Spider creature token with reach. A:SP$ Destroy | Cost$ 3 G | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | RememberLKI$ True | SubAbility$ DBToken | SpellDescription$ Destroy target creature with flying. If that creature was blue or black, create a 1/2 green Spider creature token with reach.
SVar:DBToken:DB$ Token | ConditionDefined$ Targeted | ConditionPresent$ Card.Blue,Card.Black | ConditionCompare$ EQ1 | TokenAmount$ 1 | TokenScript$ g_1_2_spider_reach | TokenOwner$ You | ConditionDescription$ If that creature was blue or black, put a 1/2 green Spider creature token with reach onto the battlefield. SVar:DBToken:DB$ Token | ConditionDefined$ RememberedLKI | ConditionPresent$ Card.Blue,Card.Black | ConditionCompare$ EQ1 | TokenAmount$ 1 | TokenScript$ g_1_2_spider_reach | TokenOwner$ You | ConditionDescription$ If that creature was blue or black, put a 1/2 green Spider creature token with reach onto the battlefield. | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Destroy target creature with flying. If that creature was blue or black, create a 1/2 green Spider creature token with reach. (It can block creatures with flying.) Oracle:Destroy target creature with flying. If that creature was blue or black, create a 1/2 green Spider creature token with reach. (It can block creatures with flying.)

View File

@@ -3,5 +3,5 @@ ManaCost:3 W
Types:Enchantment Creature Human Cleric Types:Enchantment Creature Human Cleric
PT:3/4 PT:3/4
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl+Other | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever another creature you control attacks, it gets +0/+1 until end of turn. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl+Other | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever another creature you control attacks, it gets +0/+1 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumDef$ +1 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumDef$ +1
Oracle:Whenever another creature you control attacks, it gets +0/+1 until end of turn. Oracle:Whenever another creature you control attacks, it gets +0/+1 until end of turn.

View File

@@ -7,6 +7,6 @@ T:Mode$ Phase | Phase$ BeginCombat | TriggerZones$ Battlefield | Execute$ Animat
SVar:AnimateDB:DB$ Effect | Triggers$ AttackerBlocked,Blocks | UnlessCost$ R | UnlessPayer$ You | Duration$ UntilEndOfCombat SVar:AnimateDB:DB$ Effect | Triggers$ AttackerBlocked,Blocks | UnlessCost$ R | UnlessPayer$ You | Duration$ UntilEndOfCombat
SVar:AttackerBlocked:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.EffectSource | Execute$ PumpAttacker | TriggerDescription$ Whenever EFFECTSOURCE blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn. SVar:AttackerBlocked:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.EffectSource | Execute$ PumpAttacker | TriggerDescription$ Whenever EFFECTSOURCE blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn.
SVar:Blocks:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EffectSource | ValidBlocker$ Creature | Execute$ PumpBlocker | TriggerDescription$ Whenever EFFECTSOURCE blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn. SVar:Blocks:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EffectSource | ValidBlocker$ Creature | Execute$ PumpBlocker | TriggerDescription$ Whenever EFFECTSOURCE blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn.
SVar:PumpAttacker:DB$ Pump | Defined$ TriggeredAttacker | KW$ First Strike SVar:PumpAttacker:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ First Strike
SVar:PumpBlocker:DB$ Pump | Defined$ TriggeredBlocker | KW$ First Strike SVar:PumpBlocker:DB$ Pump | Defined$ TriggeredBlockerLKICopy | KW$ First Strike
Oracle:Islandwalk (This creature can't be blocked as long as defending player controls an Island.)\nAt the beginning of each combat, unless you pay {R}, whenever Goblin Flotilla blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn. Oracle:Islandwalk (This creature can't be blocked as long as defending player controls an Island.)\nAt the beginning of each combat, unless you pay {R}, whenever Goblin Flotilla blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn.

View File

@@ -3,6 +3,5 @@ ManaCost:3 G G
Types:Creature Ape Types:Creature Ape
PT:4/4 PT:4/4
K:Trample K:Trample
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 4 | AddToughness$ 4 | CheckSVar$ X | SVarCompare$ EQ0 | Description$ CARDNAME gets +4/+4 as long as there are no cards in your graveyard. S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 4 | AddToughness$ 4 | IsPresent$ Card.YouOwn | PresentZone$ Graveyard | PresentCompare$ EQ0 | Description$ CARDNAME gets +4/+4 as long as there are no cards in your graveyard.
SVar:X:Count$InYourYard
Oracle:Trample\nGorilla Titan gets +4/+4 as long as there are no cards in your graveyard. Oracle:Trample\nGorilla Titan gets +4/+4 as long as there are no cards in your graveyard.

View File

@@ -2,5 +2,5 @@ Name:Gravity Well
ManaCost:1 G G ManaCost:1 G G
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature.withFlying | Execute$ Debuff | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature with flying attacks, it loses flying until end of turn. T:Mode$ Attacks | ValidCard$ Creature.withFlying | Execute$ Debuff | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature with flying attacks, it loses flying until end of turn.
SVar:Debuff:DB$ Debuff | Defined$ TriggeredAttacker | Keywords$ Flying SVar:Debuff:DB$ Debuff | Defined$ TriggeredAttackerLKICopy | Keywords$ Flying
Oracle:Whenever a creature with flying attacks, it loses flying until end of turn. Oracle:Whenever a creature with flying attacks, it loses flying until end of turn.

View File

@@ -6,6 +6,6 @@ K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ Poison Breath — When CARDNAME enters the battlefield, until end of turn, whenever a creature an opponent controls is dealt damage, destroy it. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ Poison Breath — When CARDNAME enters the battlefield, until end of turn, whenever a creature an opponent controls is dealt damage, destroy it.
SVar:TrigEffect:DB$ Effect | Triggers$ TrigDamageDone SVar:TrigEffect:DB$ Effect | Triggers$ TrigDamageDone
SVar:TrigDamageDone:Mode$ DamageDone | ValidTarget$ Creature.OppCtrl | Execute$ TrigDestroy | TriggerDescription$ Poison Breath — Until end of turn, whenever a creature an opponent controls is dealt damage, destroy it. SVar:TrigDamageDone:Mode$ DamageDone | ValidTarget$ Creature.OppCtrl | Execute$ TrigDestroy | TriggerDescription$ Poison Breath — Until end of turn, whenever a creature an opponent controls is dealt damage, destroy it.
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Flying\nPoison Breath — When Green Dragon enters the battlefield, until end of turn, whenever a creature an opponent controls is dealt damage, destroy it. Oracle:Flying\nPoison Breath — When Green Dragon enters the battlefield, until end of turn, whenever a creature an opponent controls is dealt damage, destroy it.

View File

@@ -4,6 +4,6 @@ Types:Creature Bird Soldier
PT:3/4 PT:3/4
K:Flying K:Flying
T:Mode$ AttackerBlocked | ValidCard$ Creature.YouCtrl | Execute$ TrigUntapRemove | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever a creature you control becomes blocked, you may untap that creature and remove it from combat. T:Mode$ AttackerBlocked | ValidCard$ Creature.YouCtrl | Execute$ TrigUntapRemove | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever a creature you control becomes blocked, you may untap that creature and remove it from combat.
SVar:TrigUntapRemove:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBRemoveCombat SVar:TrigUntapRemove:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBRemoveCombat
SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy
Oracle:Flying\nWhenever a creature you control becomes blocked, you may untap that creature and remove it from combat. Oracle:Flying\nWhenever a creature you control becomes blocked, you may untap that creature and remove it from combat.

View File

@@ -3,6 +3,6 @@ ManaCost:1
Types:Artifact Equipment Types:Artifact Equipment
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1. S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1.
T:Mode$ AttackerBlocked | ValidCard$ Card.EquippedBy | ValidBlocker$ Creature.Colorless | Execute$ TrigPump | TriggerDescription$ Whenever equipped creature becomes blocked by one or more colorless creatures, it gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.) T:Mode$ AttackerBlocked | ValidCard$ Card.EquippedBy | ValidBlocker$ Creature.Colorless | Execute$ TrigPump | TriggerDescription$ Whenever equipped creature becomes blocked by one or more colorless creatures, it gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Deathtouch SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Deathtouch
K:Equip:2 K:Equip:2
Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature becomes blocked by one or more colorless creatures, it gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)\nEquip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) Oracle:Equipped creature gets +1/+1.\nWhenever equipped creature becomes blocked by one or more colorless creatures, it gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)\nEquip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)

View File

@@ -2,6 +2,7 @@ Name:Helldozer
ManaCost:3 B B B ManaCost:3 B B B
Types:Creature Zombie Giant Types:Creature Zombie Giant
PT:6/5 PT:6/5
A:AB$ Destroy | Cost$ B B B T | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBUntap | SpellDescription$ Destroy target land. If that land was nonbasic, untap CARDNAME. A:AB$ Destroy | Cost$ B B B T | ValidTgts$ Land | TgtPrompt$ Select target land | RememberLKI$ True | AlwaysRemember$ True | SubAbility$ DBUntap | SpellDescription$ Destroy target land. If that land was nonbasic, untap CARDNAME.
SVar:DBUntap:DB$ Untap | ConditionDefined$ Targeted | ConditionPresent$ Land.nonBasic | ConditionCompare$ EQ1 | Defined$ Self SVar:DBUntap:DB$ Untap | ConditionDefined$ RememberedLKI | ConditionPresent$ Land.nonBasic | ConditionCompare$ EQ1 | Defined$ Self | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:{B}{B}{B}, {T}: Destroy target land. If that land was nonbasic, untap Helldozer. Oracle:{B}{B}{B}, {T}: Destroy target land. If that land was nonbasic, untap Helldozer.

View File

@@ -2,6 +2,6 @@ Name:Hour of Glory
ManaCost:3 B ManaCost:3 B
Types:Instant Types:Instant
A:SP$ ChangeZone | Cost$ 3 B | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberLKI$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZone | SpellDescription$ Exile target creature. If that creature was a God, its controller reveals their hand and exiles all cards from it with the same name as that creature. A:SP$ ChangeZone | Cost$ 3 B | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberLKI$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZone | SpellDescription$ Exile target creature. If that creature was a God, its controller reveals their hand and exiles all cards from it with the same name as that creature.
SVar:DBChangeZone:DB$ ChangeZoneAll | Origin$ Hand | Destination$ Exile | ConditionDefined$ Remembered | ConditionPresent$ God | DefinedPlayer$ RememberController | ChangeType$ Remembered.sameName | SubAbility$ DBCleanup SVar:DBChangeZone:DB$ ChangeZoneAll | Origin$ Hand | Destination$ Exile | ConditionDefined$ RememberedLKI | ConditionPresent$ God | DefinedPlayer$ RememberController | ChangeType$ Remembered.sameName | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Exile target creature. If that creature was a God, its controller reveals their hand and exiles all cards from it with the same name as that creature. Oracle:Exile target creature. If that creature was a God, its controller reveals their hand and exiles all cards from it with the same name as that creature.

View File

@@ -10,9 +10,9 @@ T:Mode$ Attacks | ValidCard$ Card.EnchantedBy | TriggerZones$ Battlefield | Exec
T:Mode$ Blocks | ValidCard$ Card.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDestroy3 | Secondary$ True | TriggerDescription$ Whenever enchanted creature attacks or blocks, you may pay {1}. If you do, tap the creature, remove it from combat, and creatures it was blocking that had become blocked by only that creature this combat become unblocked. If you don't, destroy CARDNAME. T:Mode$ Blocks | ValidCard$ Card.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDestroy3 | Secondary$ True | TriggerDescription$ Whenever enchanted creature attacks or blocks, you may pay {1}. If you do, tap the creature, remove it from combat, and creatures it was blocking that had become blocked by only that creature this combat become unblocked. If you don't, destroy CARDNAME.
SVar:TrigDestroy2:DB$ Destroy | Defined$ Self | UnlessCost$ 1 | UnlessPayer$ You | UnlessResolveSubs$ WhenPaid | SubAbility$ DBTapAttacker SVar:TrigDestroy2:DB$ Destroy | Defined$ Self | UnlessCost$ 1 | UnlessPayer$ You | UnlessResolveSubs$ WhenPaid | SubAbility$ DBTapAttacker
SVar:TrigDestroy3:DB$ Destroy | Defined$ Self | UnlessCost$ 1 | UnlessPayer$ You | UnlessResolveSubs$ WhenPaid | SubAbility$ DBTapBlocker SVar:TrigDestroy3:DB$ Destroy | Defined$ Self | UnlessCost$ 1 | UnlessPayer$ You | UnlessResolveSubs$ WhenPaid | SubAbility$ DBTapBlocker
SVar:DBTapAttacker:DB$ Tap | Defined$ TriggeredAttacker | SubAbility$ DBRemoveAttacker SVar:DBTapAttacker:DB$ Tap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBRemoveAttacker
SVar:DBTapBlocker:DB$ Tap | Defined$ TriggeredBlocker | SubAbility$ DBRemoveBlocker SVar:DBTapBlocker:DB$ Tap | Defined$ TriggeredBlockerLKICopy | SubAbility$ DBRemoveBlocker
SVar:DBRemoveAttacker:DB$ RemoveFromCombat | Defined$ TriggeredAttacker SVar:DBRemoveAttacker:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy
SVar:DBRemoveBlocker:DB$ RemoveFromCombat | Defined$ TriggeredBlocker | UnblockCreaturesBlockedOnlyBy$ TriggeredBlocker SVar:DBRemoveBlocker:DB$ RemoveFromCombat | Defined$ TriggeredBlockerLKICopy | UnblockCreaturesBlockedOnlyBy$ TriggeredBlocker
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:Enchant creature\nWhenever a player activates an ability of enchanted creature with {T} in its activation cost that isn't a mana ability, you may pay {1}. If you do, counter that ability. If you don't, destroy Imprison.\nWhenever enchanted creature attacks or blocks, you may pay {1}. If you do, tap the creature, remove it from combat, and creatures it was blocking that had become blocked by only that creature this combat become unblocked. If you don't, destroy Imprison. Oracle:Enchant creature\nWhenever a player activates an ability of enchanted creature with {T} in its activation cost that isn't a mana ability, you may pay {1}. If you do, counter that ability. If you don't, destroy Imprison.\nWhenever enchanted creature attacks or blocks, you may pay {1}. If you do, tap the creature, remove it from combat, and creatures it was blocking that had become blocked by only that creature this combat become unblocked. If you don't, destroy Imprison.

View File

@@ -4,7 +4,7 @@ Types:Legendary Planeswalker Jace
Loyalty:4 Loyalty:4
A:AB$ Effect | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Triggers$ TrigAttack | Duration$ UntilYourNextTurn | Name$ Jace, Architect of Thought Effect | AILogic$ Main2 | SpellDescription$ Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn. A:AB$ Effect | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Triggers$ TrigAttack | Duration$ UntilYourNextTurn | Name$ Jace, Architect of Thought Effect | AILogic$ Main2 | SpellDescription$ Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.
SVar:TrigAttack:Mode$ Attacks | ValidCard$ Creature.OppCtrl | TriggerZones$ Command | Execute$ JacePump | TriggerDescription$ Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn. SVar:TrigAttack:Mode$ Attacks | ValidCard$ Creature.OppCtrl | TriggerZones$ Command | Execute$ JacePump | TriggerDescription$ Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.
SVar:JacePump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ -1 SVar:JacePump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ -1
A:AB$ PeekAndReveal | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | PeekAmount$ 3 | RememberRevealed$ True | NoPeek$ True | SubAbility$ DBTwoPiles | SpellDescription$ Reveal the top three cards of your library. An opponent separates them into two piles. Put one pile into your hand and the other on the bottom of your library in any order. A:AB$ PeekAndReveal | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | PeekAmount$ 3 | RememberRevealed$ True | NoPeek$ True | SubAbility$ DBTwoPiles | SpellDescription$ Reveal the top three cards of your library. An opponent separates them into two piles. Put one pile into your hand and the other on the bottom of your library in any order.
SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBHand | UnchosenPile$ DBLibraryBottom SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBHand | UnchosenPile$ DBLibraryBottom
SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand

View File

@@ -5,5 +5,5 @@ PT:6/6
T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets -2/-1 until end of turn for each creature blocking it beyond the first. T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets -2/-1 until end of turn for each creature blocking it beyond the first.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ -X | NumDef$ -Y SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ -X | NumDef$ -Y
SVar:X:SVar$Y/Twice SVar:X:SVar$Y/Twice
SVar:Y:TriggerCount$NumBlockers/Minus.1 SVar:Y:Count$Valid Creature.blockingTriggeredAttacker/Minus.1
Oracle:Whenever Johtull Wurm becomes blocked, it gets -2/-1 until end of turn for each creature blocking it beyond the first. Oracle:Whenever Johtull Wurm becomes blocked, it gets -2/-1 until end of turn for each creature blocking it beyond the first.

View File

@@ -4,5 +4,5 @@ Types:Creature Wurm
PT:5/5 PT:5/5
T:Mode$ AttackerBlocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets -1/-1 until end of turn for each creature blocking it beyond the first. T:Mode$ AttackerBlocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets -1/-1 until end of turn for each creature blocking it beyond the first.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ -X | NumDef$ -X SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ -X | NumDef$ -X
SVar:X:TriggerCount$NumBlockers/Minus.1 SVar:X:Count$Valid Creature.blockingTriggeredAttacker/Minus.1
Oracle:Whenever Jungle Wurm becomes blocked, it gets -1/-1 until end of turn for each creature blocking it beyond the first. Oracle:Whenever Jungle Wurm becomes blocked, it gets -1/-1 until end of turn for each creature blocking it beyond the first.

View File

@@ -4,7 +4,7 @@ Types:Creature Fox Pilot
PT:2/2 PT:2/2
T:Mode$ Attacks | ValidCard$ Vehicle.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCharm | TriggerDescription$ Whenever a Vehicle you control attacks, ABILITY T:Mode$ Attacks | ValidCard$ Vehicle.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCharm | TriggerDescription$ Whenever a Vehicle you control attacks, ABILITY
SVar:TrigCharm:DB$ Charm | Choices$ DBPump,DBUntap SVar:TrigCharm:DB$ Charm | Choices$ DBPump,DBUntap
SVar:DBPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ First Strike | SpellDescription$ That Vehicle gains first strike until end of turn SVar:DBPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ First Strike | SpellDescription$ That Vehicle gains first strike until end of turn
SVar:DBUntap:DB$ Untap | Defined$ Self | SpellDescription$ Untap CARDNAME SVar:DBUntap:DB$ Untap | Defined$ Self | SpellDescription$ Untap CARDNAME
DeckNeeds:Type$Vehicle DeckNeeds:Type$Vehicle
Oracle:Whenever a Vehicle you control attacks, choose one —\n• That Vehicle gains first strike until end of turn.\n• Untap Kitsune Ace. Oracle:Whenever a Vehicle you control attacks, choose one —\n• That Vehicle gains first strike until end of turn.\n• Untap Kitsune Ace.

View File

@@ -4,7 +4,7 @@ Types:Creature Minotaur Warrior
PT:2/3 PT:2/3
S:Mode$ Continuous | Affected$ Creature.Minotaur+YouCtrl | AddKeyword$ Haste | Description$ Minotaur Creatures you control have haste. S:Mode$ Continuous | Affected$ Creature.Minotaur+YouCtrl | AddKeyword$ Haste | Description$ Minotaur Creatures you control have haste.
T:Mode$ Attacks | ValidCard$ Minotaur.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Minotaur you control attacks, it gets +2/+0 until end of turn. T:Mode$ Attacks | ValidCard$ Minotaur.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Minotaur you control attacks, it gets +2/+0 until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +2 SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +2
SVar:BuffedBy:Minotaur SVar:BuffedBy:Minotaur
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Minotaur creatures you control have haste.\nWhenever a Minotaur you control attacks, it gets +2/+0 until end of turn. Oracle:Minotaur creatures you control have haste.\nWhenever a Minotaur you control attacks, it gets +2/+0 until end of turn.

View File

@@ -3,6 +3,6 @@ ManaCost:3 U
Types:Creature Minotaur Types:Creature Minotaur
PT:1/4 PT:1/4
T:Mode$ AttackerBlocked | ValidBlocker$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME blocks a creature, that creature doesn't untap during its controller's next untap step. T:Mode$ AttackerBlocked | ValidBlocker$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME blocks a creature, that creature doesn't untap during its controller's next untap step.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent
SVar:HasBlockEffect:TRUE SVar:HasBlockEffect:TRUE
Oracle:Whenever Labyrinth Minotaur blocks a creature, that creature doesn't untap during its controller's next untap step. Oracle:Whenever Labyrinth Minotaur blocks a creature, that creature doesn't untap during its controller's next untap step.

View File

@@ -5,6 +5,6 @@ K:Enchant creature
A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AITgts$ Card.powerGE1 | AILogic$ Pump A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AITgts$ Card.powerGE1 | AILogic$ Pump
T:Mode$ AttackerBlocked | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ LaccolithDmg | OptionalDecider$ You | TriggerDescription$ Whenever enchanted creature becomes blocked, you may have it deal damage equal to its power to target creature. If you do, the first creature assigns no combat damage this turn. T:Mode$ AttackerBlocked | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ LaccolithDmg | OptionalDecider$ You | TriggerDescription$ Whenever enchanted creature becomes blocked, you may have it deal damage equal to its power to target creature. If you do, the first creature assigns no combat damage this turn.
SVar:LaccolithDmg:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature to deal damage to | NumDmg$ RigX | SubAbility$ NoCombatDamage | DamageSource$ TriggeredAttacker SVar:LaccolithDmg:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature to deal damage to | NumDmg$ RigX | SubAbility$ NoCombatDamage | DamageSource$ TriggeredAttacker
SVar:NoCombatDamage:DB$ Pump | Defined$ TriggeredAttacker | KW$ HIDDEN CARDNAME assigns no combat damage SVar:NoCombatDamage:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ HIDDEN CARDNAME assigns no combat damage
SVar:RigX:TriggeredAttacker$CardPower SVar:RigX:TriggeredAttacker$CardPower
Oracle:Enchant creature\nWhenever enchanted creature becomes blocked, you may have it deal damage equal to its power to target creature. If you do, the first creature assigns no combat damage this turn. Oracle:Enchant creature\nWhenever enchanted creature becomes blocked, you may have it deal damage equal to its power to target creature. If you do, the first creature assigns no combat damage this turn.

View File

@@ -4,6 +4,6 @@ Types:Creature Zombie
PT:2/3 PT:2/3
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigBlocks | TriggerDescription$ Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigBlocks | TriggerDescription$ Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigBlocked | Secondary$ True | TriggerDescription$ Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigBlocked | Secondary$ True | TriggerDescription$ Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn.
SVar:TrigBlocks:DB$ Pump | Defined$ TriggeredAttacker | KW$ HIDDEN CARDNAME can't be regenerated. SVar:TrigBlocks:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ HIDDEN CARDNAME can't be regenerated.
SVar:TrigBlocked:DB$ Pump | Defined$ TriggeredBlocker | KW$ HIDDEN CARDNAME can't be regenerated. SVar:TrigBlocked:DB$ Pump | Defined$ TriggeredBlockerLKICopy | KW$ HIDDEN CARDNAME can't be regenerated.
Oracle:Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn. Oracle:Whenever Lim-Dûl's Cohort blocks or becomes blocked by a creature, that creature can't be regenerated this turn.

View File

@@ -3,7 +3,7 @@ ManaCost:3 G G
Types:Enchantment Types:Enchantment
T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You,Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Whenever a creature attacks you or a planeswalker you control, reveal the top card of your library. If it's a Forest card, remove that creature from combat. Then put the revealed card on the bottom of your library. T:Mode$ Attacks | ValidCard$ Creature | Attacked$ You,Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Whenever a creature attacks you or a planeswalker you control, reveal the top card of your library. If it's a Forest card, remove that creature from combat. Then put the revealed card on the bottom of your library.
SVar:TrigDig:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Library | LibraryPosition$ -1 | LibraryPosition2$ -1 | RememberChanged$ True | SubAbility$ DBRemoveCombat SVar:TrigDig:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Library | LibraryPosition$ -1 | LibraryPosition2$ -1 | RememberChanged$ True | SubAbility$ DBRemoveCombat
SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker | ConditionCheckSVar$ IsForest | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy | ConditionCheckSVar$ IsForest | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:IsForest:Remembered$Valid Forest SVar:IsForest:Remembered$Valid Forest
Oracle:Whenever a creature attacks you or a planeswalker you control, reveal the top card of your library. If it's a Forest card, remove that creature from combat. Then put the revealed card on the bottom of your library. Oracle:Whenever a creature attacks you or a planeswalker you control, reveal the top card of your library. If it's a Forest card, remove that creature from combat. Then put the revealed card on the bottom of your library.

View File

@@ -6,6 +6,6 @@ A:SP$ Attach | Cost$ 3 G | ValidTgts$ Creature | AITgts$ Creature.withFlying | A
S:Mode$ Continuous | Affected$ Card.EnchantedBy | RemoveKeyword$ Flying | Description$ Enchanted creature loses flying. S:Mode$ Continuous | Affected$ Card.EnchantedBy | RemoveKeyword$ Flying | Description$ Enchanted creature loses flying.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.EnchantedBy | Execute$ TrigPumpAttacker | TriggerDescription$ Whenever enchanted creature blocks or becomes blocked by a creature, the other creature gains first strike until end of turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Card.EnchantedBy | Execute$ TrigPumpAttacker | TriggerDescription$ Whenever enchanted creature blocks or becomes blocked by a creature, the other creature gains first strike until end of turn.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EnchantedBy | ValidBlocker$ Creature | Execute$ TrigPumpBlocker | Secondary$ True | TriggerDescription$ Whenever enchanted creature blocks or becomes blocked by a creature, the other creature gains first strike until end of turn. T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.EnchantedBy | ValidBlocker$ Creature | Execute$ TrigPumpBlocker | Secondary$ True | TriggerDescription$ Whenever enchanted creature blocks or becomes blocked by a creature, the other creature gains first strike until end of turn.
SVar:TrigPumpAttacker:DB$ Pump | Defined$ TriggeredAttacker | KW$ First Strike SVar:TrigPumpAttacker:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ First Strike
SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlocker | KW$ First Strike SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlockerLKICopy | KW$ First Strike
Oracle:Enchant creature\nEnchanted creature loses flying.\nWhenever enchanted creature blocks or becomes blocked by a creature, the other creature gains first strike until end of turn. Oracle:Enchant creature\nEnchanted creature loses flying.\nWhenever enchanted creature blocks or becomes blocked by a creature, the other creature gains first strike until end of turn.

View File

@@ -4,6 +4,6 @@ Types:Creature Rhino Druid
PT:4/4 PT:4/4
K:Reach K:Reach
T:Mode$ Attacks | ValidCard$ Creature.equalPT+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control with power equal to its toughness attacks, it gains trample until end of turn. T:Mode$ Attacks | ValidCard$ Creature.equalPT+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control with power equal to its toughness attacks, it gains trample until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Trample SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Trample
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Reach\nWhenever a creature you control with power equal to its toughness attacks, it gains trample until end of turn. Oracle:Reach\nWhenever a creature you control with power equal to its toughness attacks, it gains trample until end of turn.

View File

@@ -3,7 +3,7 @@ ManaCost:1 R G W
Types:Legendary Creature Halfling Knight Types:Legendary Creature Halfling Knight
PT:3/4 PT:3/4
T:Mode$ Attacks | ValidCard$ Creature.enchanted | Attacked$ Player.Opponent | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever an enchanted creature attacks one of your opponents, it gets +2/+0 and gains trample until end of turn. T:Mode$ Attacks | ValidCard$ Creature.enchanted | Attacked$ Player.Opponent | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever an enchanted creature attacks one of your opponents, it gets +2/+0 and gains trample until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 2 | KW$ Trample SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 2 | KW$ Trample
T:Mode$ ChangesZone | TriggerZones$ Battlefield | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Aura.YouCtrl+YouOwn | Execute$ TrigExile | TriggerDescription$ Whenever an Aura you control is put into your graveyard from the battlefield, exile it. Until the end of your next turn, you may cast that card. T:Mode$ ChangesZone | TriggerZones$ Battlefield | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Aura.YouCtrl+YouOwn | Execute$ TrigExile | TriggerDescription$ Whenever an Aura you control is put into your graveyard from the battlefield, exile it. Until the end of your next turn, you may cast that card.
SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | SubAbility$ DBEffect SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | Duration$ UntilTheEndOfYourNextTurn | SubAbility$ DBCleanup SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | Duration$ UntilTheEndOfYourNextTurn | SubAbility$ DBCleanup

View File

@@ -6,7 +6,7 @@ SVar:DBEffect:DB$ Effect | Triggers$ TrigAttack,TrigEndCombat
SVar:TrigEndCombat:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ You | TriggerZones$ Command | Execute$ RemoveEffect | Static$ True SVar:TrigEndCombat:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ You | TriggerZones$ Command | Execute$ RemoveEffect | Static$ True
SVar:RemoveEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:RemoveEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:TrigAttack:Mode$ AttackerUnblocked | ValidCard$ Creature | Execute$ TrigUntap | TriggerZones$ Command | TriggerDescription$ Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat. SVar:TrigAttack:Mode$ AttackerUnblocked | ValidCard$ Creature | Execute$ TrigUntap | TriggerZones$ Command | TriggerDescription$ Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat.
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ RemCombat SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ RemCombat
SVar:RemCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker SVar:RemCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:Cast this spell only during your turn and only during combat before blockers are declared.\nYou choose which creatures block this combat and how those creatures block.\nWhenever a creature attacks and isn't blocked this combat, untap it and remove it from combat. Oracle:Cast this spell only during your turn and only during combat before blockers are declared.\nYou choose which creatures block this combat and how those creatures block.\nWhenever a creature attacks and isn't blocked this combat, untap it and remove it from combat.

View File

@@ -6,7 +6,7 @@ K:Defender
K:Flying K:Flying
T:Mode$ AttackerBlocked | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ AddSpores | TriggerDescription$ Whenever CARDNAME blocks a creature, put four fungus counters on that creature. The creature gains "This creature doesn't untap during your untap step if it has a fungus counter on it" and "At the beginning of your upkeep, remove a fungus counter from this creature." T:Mode$ AttackerBlocked | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ AddSpores | TriggerDescription$ Whenever CARDNAME blocks a creature, put four fungus counters on that creature. The creature gains "This creature doesn't untap during your untap step if it has a fungus counter on it" and "At the beginning of your upkeep, remove a fungus counter from this creature."
SVar:AddSpores:DB$ PutCounter | CounterType$ FUNGUS | CounterNum$ 4 | Defined$ TriggeredAttackerLKICopy | SubAbility$ AddFungalEffects SVar:AddSpores:DB$ PutCounter | CounterType$ FUNGUS | CounterNum$ 4 | Defined$ TriggeredAttackerLKICopy | SubAbility$ AddFungalEffects
SVar:AddFungalEffects:DB$ Animate | Defined$ TriggeredAttacker | staticAbilities$ FungalFunk | Triggers$ TrigSporeUpkeep | Duration$ Permanent SVar:AddFungalEffects:DB$ Animate | Defined$ TriggeredAttackerLKICopy | staticAbilities$ FungalFunk | Triggers$ TrigSporeUpkeep | Duration$ Permanent
SVar:FungalFunk:Mode$ Continuous | Affected$ Card.Self+counters_GE1_FUNGUS | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | Description$ CARDNAME doesn't untap during your untap step if it has a fungus counter on it. SVar:FungalFunk:Mode$ Continuous | Affected$ Card.Self+counters_GE1_FUNGUS | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | Description$ CARDNAME doesn't untap during your untap step if it has a fungus counter on it.
SVar:TrigSporeUpkeep:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ LoseSpores | TriggerDescription$ At the beginning of your upkeep, remove a fungus counter from CARDNAME. SVar:TrigSporeUpkeep:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ LoseSpores | TriggerDescription$ At the beginning of your upkeep, remove a fungus counter from CARDNAME.
SVar:LoseSpores:DB$ RemoveCounter | CounterType$ FUNGUS | CounterNum$ 1 SVar:LoseSpores:DB$ RemoveCounter | CounterType$ FUNGUS | CounterNum$ 1

View File

@@ -1,6 +1,7 @@
Name:Molten Rain Name:Molten Rain
ManaCost:1 R R ManaCost:1 R R
Types:Sorcery Types:Sorcery
A:SP$ Destroy | Cost$ 1 R R | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBDamage | SpellDescription$ Destroy target land. If that land is nonbasic, Molten Rain deals 2 damage to the land's controller. A:SP$ Destroy | Cost$ 1 R R | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBDamage | RememberLKI$ True | AlwaysRemember$ True | SpellDescription$ Destroy target land. If that land is nonbasic, Molten Rain deals 2 damage to the land's controller.
SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 2 | ConditionDefined$ Targeted | ConditionPresent$ Land.Basic | ConditionCompare$ EQ0 | ConditionDescription$ If that land is nonbasic, SVar:DBDamage:DB$ DealDamage | Defined$ RememberedController | NumDmg$ 2 | ConditionDefined$ RememberedLKI | ConditionPresent$ Land.Basic | ConditionCompare$ EQ0 | ConditionDescription$ If that land is nonbasic, | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Destroy target land. If that land was nonbasic, Molten Rain deals 2 damage to the land's controller. Oracle:Destroy target land. If that land was nonbasic, Molten Rain deals 2 damage to the land's controller.

View File

@@ -5,6 +5,6 @@ PT:3/3
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | IsPresent$ Card.Self+withFirst Strike | PresentCompare$ EQ0 | TriggerDescription$ Whenever CARDNAME attacks, if it doesn't have first strike, put a first strike counter on it. T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | IsPresent$ Card.Self+withFirst Strike | PresentCompare$ EQ0 | TriggerDescription$ Whenever CARDNAME attacks, if it doesn't have first strike, put a first strike counter on it.
SVar:TrigPutCounter:DB$ PutCounter | Defined$ TriggeredAttackerLKICopy | CounterType$ First Strike | CounterNum$ 1 SVar:TrigPutCounter:DB$ PutCounter | Defined$ TriggeredAttackerLKICopy | CounterType$ First Strike | CounterNum$ 1
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | IsPresent$ Card.Self+withFirst Strike | PresentCompare$ EQ1 | TriggerDescription$ Whenever CARDNAME attacks, if it has first strike, it gains double strike until end of turn. T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | IsPresent$ Card.Self+withFirst Strike | PresentCompare$ EQ1 | TriggerDescription$ Whenever CARDNAME attacks, if it has first strike, it gains double strike until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
DeckHas:Ability$Counters DeckHas:Ability$Counters
Oracle:Whenever Momentum Rumbler attacks, if it doesn't have first strike, put a first strike counter on it.\nWhenever Momentum Rumbler attacks, if it has first strike, it gains double strike until end of turn. Oracle:Whenever Momentum Rumbler attacks, if it doesn't have first strike, put a first strike counter on it.\nWhenever Momentum Rumbler attacks, if it has first strike, it gains double strike until end of turn.

View File

@@ -3,6 +3,5 @@ ManaCost:4 G G
Types:Creature Beast Types:Creature Beast
PT:5/5 PT:5/5
K:Trample K:Trample
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddToughness$ 3 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +3/+3 as long as there is a land card in your graveyard. S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddToughness$ 3 | IsPresent$ Land.YouOwn | PresentZone$ Graveyard | Description$ CARDNAME gets +3/+3 as long as there is a land card in your graveyard.
SVar:X:Count$TypeInYourYard.Land
Oracle:Trample\nMurasa Behemoth gets +3/+3 as long as there is a land card in your graveyard. Oracle:Trample\nMurasa Behemoth gets +3/+3 as long as there is a land card in your graveyard.

View File

@@ -3,7 +3,7 @@ ManaCost:1 W
Types:Sorcery Types:Sorcery
A:SP$ Effect | Triggers$ TrigAttacks | SpellDescription$ Whenever a creature attacks this turn, it gains lifelink until end of turn. A:SP$ Effect | Triggers$ TrigAttacks | SpellDescription$ Whenever a creature attacks this turn, it gains lifelink until end of turn.
SVar:TrigAttacks:Mode$ Attacks | ValidCard$ Creature | Execute$ Pump | TriggerDescription$ Whenever a creature attacks this turn, it gains lifelink until end of turn. SVar:TrigAttacks:Mode$ Attacks | ValidCard$ Creature | Execute$ Pump | TriggerDescription$ Whenever a creature attacks this turn, it gains lifelink until end of turn.
SVar:Pump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Lifelink SVar:Pump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
K:Awaken:4:4 W K:Awaken:4:4 W
DeckHas:Ability$LifeGain DeckHas:Ability$LifeGain
Oracle:Whenever a creature attacks this turn, it gains lifelink until end of turn.\nAwaken 4—{4}{W} (If you cast this spell for {4}{W}, also put four +1/+1 counters on target land you control and it becomes a 0/0 Elemental creature with haste. It's still a land.) Oracle:Whenever a creature attacks this turn, it gains lifelink until end of turn.\nAwaken 4—{4}{W} (If you cast this spell for {4}{W}, also put four +1/+1 counters on target land you control and it becomes a 0/0 Elemental creature with haste. It's still a land.)

View File

@@ -5,7 +5,7 @@ K:Equip:Discard<1/Card>
S:Mode$ Continuous | Affected$ You | IsPresent$ Card.Self+AttachedTo Creature | AddKeyword$ You don't lose the game for having 0 or less life. | Description$ As long as CARDNAME is attached to a creature, you don't lose the game for having 0 or less life. S:Mode$ Continuous | Affected$ You | IsPresent$ Card.Self+AttachedTo Creature | AddKeyword$ You don't lose the game for having 0 or less life. | Description$ As long as CARDNAME is attached to a creature, you don't lose the game for having 0 or less life.
T:Mode$ Attacks | ValidCard$ Creature.EquippedBy | Execute$ TrigDraw | TriggerDescription$ Whenever equipped creature attacks, draw a card and reveal it. The creature gets +X/+X until end of turn and you lose X life, where X is that card's mana value. T:Mode$ Attacks | ValidCard$ Creature.EquippedBy | Execute$ TrigDraw | TriggerDescription$ Whenever equipped creature attacks, draw a card and reveal it. The creature gets +X/+X until end of turn and you lose X life, where X is that card's mana value.
SVar:TrigDraw:DB$ Draw | NumCards$ 1 | Reveal$ True | RememberDrawn$ True | SubAbility$ DBPump SVar:TrigDraw:DB$ Draw | NumCards$ 1 | Reveal$ True | RememberDrawn$ True | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X | SubAbility$ DBLoseLife SVar:DBPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X | SubAbility$ DBLoseLife
SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | Defined$ You | SubAbility$ DBClean SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | Defined$ You | SubAbility$ DBClean
SVar:DBClean:DB$ Cleanup | ClearRemembered$ True SVar:DBClean:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$CardManaCost SVar:X:Remembered$CardManaCost

View File

@@ -4,5 +4,5 @@ Types:Creature Elephant
PT:3/4 PT:3/4
T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +2/+2 until end of turn for each creature blocking it. T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +2/+2 until end of turn for each creature blocking it.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers/Times.2 SVar:X:Count$Valid Creature.blockingTriggeredAttacker/Times.2
Oracle:Whenever Rabid Elephant becomes blocked, it gets +2/+2 until end of turn for each creature blocking it. Oracle:Whenever Rabid Elephant becomes blocked, it gets +2/+2 until end of turn for each creature blocking it.

View File

@@ -4,5 +4,5 @@ Types:Legendary Creature Human Knight
PT:3/3 PT:3/3
K:Exalted K:Exalted
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gains double strike until end of turn. T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gains double strike until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
Oracle:Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, it gains double strike until end of turn. Oracle:Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, it gains double strike until end of turn.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Human Samurai
PT:3/3 PT:3/3
K:First Strike K:First Strike
T:Mode$ Attacks | ValidCard$ Samurai.YouCtrl,Warrior.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever a Samurai or Warrior you control attacks alone, untap it. If it's the first combat phase of the turn, there is an additional combat phase after this phase. T:Mode$ Attacks | ValidCard$ Samurai.YouCtrl,Warrior.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever a Samurai or Warrior you control attacks alone, untap it. If it's the first combat phase of the turn, there is an additional combat phase after this phase.
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBAddPhase SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBAddPhase
SVar:DBAddPhase:DB$ AddPhase | ExtraPhase$ Combat | ConditionFirstCombat$ True | AfterPhase$ EndCombat SVar:DBAddPhase:DB$ AddPhase | ExtraPhase$ Combat | ConditionFirstCombat$ True | AfterPhase$ EndCombat
DeckHints:Type$Samurai|Warrior DeckHints:Type$Samurai|Warrior
Oracle:First strike\nWhenever a Samurai or Warrior you control attacks alone, untap it. If it's the first combat phase of the turn, there is an additional combat phase after this phase. Oracle:First strike\nWhenever a Samurai or Warrior you control attacks alone, untap it. If it's the first combat phase of the turn, there is an additional combat phase after this phase.

View File

@@ -3,6 +3,6 @@ ManaCost:R W
Types:Legendary Creature Dwarf Artificer Types:Legendary Creature Dwarf Artificer
PT:2/2 PT:2/2
T:Mode$ Attacks | ValidCard$ Creature.enchanted+YouCtrl,Creature.YouCtrl+equipped | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature you control that's enchanted or equipped attacks, that creature gains double strike until end of turn. T:Mode$ Attacks | ValidCard$ Creature.enchanted+YouCtrl,Creature.YouCtrl+equipped | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature you control that's enchanted or equipped attacks, that creature gains double strike until end of turn.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
DeckNeeds:Type$Enchantment|Equipment DeckNeeds:Type$Enchantment|Equipment
Oracle:Whenever a creature you control that's enchanted or equipped attacks, that creature gains double strike until end of turn. Oracle:Whenever a creature you control that's enchanted or equipped attacks, that creature gains double strike until end of turn.

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