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"))) {
String rawP = ab.getParam("NumAtt");
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;
}
// TODO: maybe also predict calculated bonus above certain threshold?

View File

@@ -1286,8 +1286,8 @@ public class ComputerUtilCombat {
power += Integer.parseInt(att);
} else {
String bonus = AbilityUtils.getSVar(sa, att);
if (bonus.contains("TriggerCount$NumBlockers")) {
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1");
if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
} else if (bonus.contains("TriggeredAttacker$CardPower")) { // e.g. Arahbo, Roar of the World
@@ -1475,8 +1475,8 @@ public class ComputerUtilCombat {
toughness += Integer.parseInt(def);
} else {
String bonus = AbilityUtils.getSVar(sa, def);
if (bonus.contains("TriggerCount$NumBlockers")) {
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1");
if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
}
@@ -1507,8 +1507,8 @@ public class ComputerUtilCombat {
toughness += Integer.parseInt(def);
} else {
String bonus = AbilityUtils.getSVar(sa, def);
if (bonus.contains("TriggerCount$NumBlockers")) {
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1");
if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
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.Set;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import forge.ai.AiCardMemory;
import forge.ai.ComputerUtilAbility;
@@ -82,7 +80,7 @@ public class ChooseTypeAi extends SpellAbilityAi {
if (maxX > 1) {
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()) {
for (Card c: cre) {
avgPower += c.getNetPower();

View File

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

View File

@@ -373,13 +373,8 @@ public class UntapAi extends SpellAbilityAi {
reduced.decreaseShard(ManaCostShard.GENERIC, untappingCards.size());
if (ComputerUtilMana.canPayManaCost(reduced, ab, ai, false)) {
CardCollection manaLandsTapped = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield),
Predicates.and(Presets.LANDS_PRODUCING_MANA, Presets.TAPPED));
manaLandsTapped = CardLists.filter(manaLandsTapped, new Predicate<Card>() {
@Override
public boolean apply(Card card) {
return card.isValid(sa.getParam("ValidTgts"), ai, source, null);
}
});
Presets.LANDS_PRODUCING_MANA, Presets.TAPPED);
manaLandsTapped = CardLists.getValidCards(manaLandsTapped, sa.getParam("ValidTgts"), ai, source, null);
if (!manaLandsTapped.isEmpty()) {
// 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
CardCollection manaLands = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield),
Predicates.and(Presets.LANDS_PRODUCING_MANA, Presets.UNTAPPED));
manaLands = CardLists.filter(manaLands, new Predicate<Card>() {
@Override
public boolean apply(Card card) {
return card.isValid(sa.getParam("ValidTgts"), ai, source, null);
}
});
Presets.LANDS_PRODUCING_MANA, Presets.UNTAPPED);
manaLands = CardLists.getValidCards(manaLands, sa.getParam("ValidTgts"), ai, source, null);
if (manaLands.isEmpty()) {
// nothing to untap

View File

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

View File

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

View File

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

View File

@@ -4,7 +4,6 @@ import java.util.List;
import java.util.Map;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import forge.game.Game;
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.LastStateGraveyard, lastStateGraveyard);

View File

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

View File

@@ -48,12 +48,10 @@ public class ClashEffect extends SpellAbilityEffect {
}
// Run triggers
final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Player, player);
final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(player);
runParams.put(AbilityKey.Won, player.equals(winner) ? "True" : "False");
source.getGame().getTriggerHandler().runTrigger(TriggerType.Clashed, runParams, false);
final Map<AbilityKey, Object> runParams2 = AbilityKey.newMap();
runParams2.put(AbilityKey.Player, opponent);
final Map<AbilityKey, Object> runParams2 = AbilityKey.mapFromPlayer(opponent);
runParams2.put(AbilityKey.Won, opponent.equals(winner) ? "True" : "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);
// Run triggers
final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
runParams.put(AbilityKey.Player, caller);
final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(caller);
runParams.put(AbilityKey.Result, wonFlip);
caller.getGame().getTriggerHandler().runTrigger(TriggerType.FlippedCoin, runParams, false);
} while (sa.hasParam("FlipUntilYouLose") && wonFlip);

View File

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

View File

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

View File

@@ -20,8 +20,7 @@ public class RunChaosEffect extends SpellAbilityEffect {
@Override
public void resolve(SpellAbility sa) {
Map<AbilityKey, Object> map = AbilityKey.newMap();
map.put(AbilityKey.Player, sa.getActivatingPlayer());
Map<AbilityKey, Object> map = AbilityKey.mapFromPlayer(sa.getActivatingPlayer());
map.put(AbilityKey.Result, PlanarDice.Chaos);
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.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
@@ -108,7 +107,7 @@ public abstract class TokenEffectBase extends SpellAbilityEffect {
CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield();
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.LastStateGraveyard, lastStateGraveyard);

View File

@@ -119,7 +119,7 @@ public class CardFactoryUtil {
CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield();
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.LastStateGraveyard, lastStateGraveyard);
@@ -1615,7 +1615,7 @@ public class CardFactoryUtil {
final String n = k[1];
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() + ")";
final String effect = "DB$ Pump | Defined$ TriggeredAttackerLKICopy" +
@@ -1626,7 +1626,7 @@ public class CardFactoryUtil {
SpellAbility sa = AbilityFactory.getAbility(effect, card);
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);
trigger.setOverridingAbility(sa);
inst.addTrigger(trigger);

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,6 +3,6 @@ ManaCost:no cost
Types:Conspiracy
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.)
SVar:TrigPump:AB$ Pump | Cost$ W | Defined$ TriggeredAttacker | KW$ Indestructible
SVar:TrigPump:AB$ Pump | Cost$ W | Defined$ TriggeredAttackerLKICopy | KW$ Indestructible
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.)

View File

@@ -5,5 +5,5 @@ PT:4/4
K:Flying
K: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.)

View File

@@ -4,6 +4,6 @@ Types:Creature Faerie
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$ 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:TrigAnimateBlocker:DB$ Animate | Defined$ TriggeredBlocker | Colors$ Green | OverwriteColors$ True | Duration$ Permanent
SVar:TrigAnimateAttacker:DB$ Animate | Defined$ TriggeredAttackerLKICopy | 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.)

View File

@@ -2,7 +2,7 @@ Name:Altar of the Goyf
ManaCost:5
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.
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.
SVar:X:Count$CardTypes.ValidGraveyard Card
SVar:PlayMain1:TRUE

View File

@@ -2,7 +2,7 @@ Name:Angelic Exaltation
ManaCost:3 W
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.
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: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.

View File

@@ -2,7 +2,7 @@ Name:Anthem of Rakdos
ManaCost:2 B R R
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.
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
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

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
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.
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:BuffedBy:Cat
SVar:PlayMain1:TRUE

View File

@@ -4,7 +4,7 @@ Types:Creature Human Samurai
PT:4/3
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X
SVar:X:Count$Valid Samurai.YouCtrl,Warrior.YouCtrl
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.

View File

@@ -5,7 +5,7 @@ PT:6/4
K:Flying
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
SVar:BuffedBy:Dragon
SVar:PlayMain1:TRUE
DeckHints:Type$Dragon

View File

@@ -2,7 +2,7 @@ Name:Barbed Foliage
ManaCost:2 G G
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.
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.
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.

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.
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:ABBarrelingPump:DB$ Pump | Defined$ Remembered | NumAtt$ +BarrelingX | NumDef$ +BarrelingX
SVar:BarrelingX:TriggerCount$NumBlockers
SVar:ABBarrelingPump:DB$ Pump | Defined$ RememberedLKI | NumAtt$ +BarrelingX | NumDef$ +BarrelingX
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.

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.
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:Pump:DB$ Pump | Defined$ TriggeredBlocker | NumDef$ 1
SVar:Pump:DB$ Pump | Defined$ TriggeredBlockerLKICopy | NumDef$ 1
AI:RemoveDeck:All
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: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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Lifelink
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
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.

View File

@@ -5,6 +5,6 @@ K:Enchant creature
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.
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:X:TriggerCount$NumBlockers
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
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.

View File

@@ -3,7 +3,7 @@ ManaCost:4 G
Types:Creature Beast
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
SVar:X:Count$Valid Creature.blockingTriggeredAttacker
DeckHints:Type$Beast
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.
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: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.

View File

@@ -2,5 +2,5 @@ Name:Briar Patch
ManaCost:1 G G
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.
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.

View File

@@ -4,6 +4,6 @@ Types:Creature Dragon
PT:4/4
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.
SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlocker | NumAtt$ -X
SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlockerLKICopy | NumAtt$ -X
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.

View File

@@ -4,7 +4,7 @@ Types:Artifact Creature Equipment Insect
PT:2/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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 2
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 2
SVar:HasAttackEffect:TRUE
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE
SVar:AE:SVar:HasAttackEffect:TRUE

View File

@@ -1,6 +1,7 @@
Name:Choking Sands
ManaCost:1 B B
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.
SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 2 | ConditionDefined$ Targeted | ConditionPresent$ Land.Basic | ConditionCompare$ EQ0 | ConditionDescription$ If that land is nonbasic,
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$ 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.

View File

@@ -3,5 +3,5 @@ ManaCost:1 U
Types:Creature Merfolk Cleric
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.
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.

View File

@@ -2,7 +2,7 @@ Name:Crown of Doom
ManaCost:3
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.
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.
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.

View File

@@ -3,7 +3,7 @@ ManaCost:5 R
Types:Creature Beholder
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +Y | Double$ True
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +Y | Double$ True
SVar:Y:TriggeredAttacker$CardPower
K:Monstrosity:X:X X R
SVar:X:Count$xPaid

View File

@@ -5,8 +5,8 @@ PT:1/3
K:Reach
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.
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBAnimate
SVar:DBAnimate:DB$ Animate | Defined$ TriggeredAttacker | staticAbilities$ CantBeBlockedPow | Duration$ UntilEndOfCombat
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBAnimate
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: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.

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: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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Lifelink
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
SVar:AICastPreference:NeverCastIfLifeBelow$ 4
DeckHints:Ability$Amass & Type$Zombie
DeckHas:Ability$Amass|Counters|Token

View File

@@ -2,9 +2,9 @@ Name:Dream Fighter
ManaCost:2 U
Types:Creature Human Soldier
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$ 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.
SVar:TrigPhaseAttacker:DB$ Phases | Defined$ TriggeredAttacker | SubAbility$ DBPhaseSelf
SVar:TrigPhaseBlocker:DB$ Phases | Defined$ TriggeredBlocker | SubAbility$ DBPhaseSelf
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, CARDNAME and that creature phase out.
SVar:TrigPhaseAttacker:DB$ Phases | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBPhaseSelf
SVar:TrigPhaseBlocker:DB$ Phases | Defined$ TriggeredBlockerLKICopy | SubAbility$ DBPhaseSelf
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.)

View File

@@ -1,5 +1,5 @@
Name:Echo Chamber
ManaCost:4
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.

View File

@@ -3,6 +3,6 @@ ManaCost:1 W
Types:Enchantment Creature Human Samurai
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ 1 | NumDef$ 1
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ 1 | NumDef$ 1
DeckHints:Type$Samurai|Warrior
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:Trample
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.

View File

@@ -4,5 +4,5 @@ Types:Creature Elf Berserker
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.
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.

View File

@@ -2,8 +2,7 @@ Name:Elvish Reclaimer
ManaCost:G
Types:Creature Elf Warrior
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.
SVar:X:Count$TypeInYourYard.Land
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.
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
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
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: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: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

View File

@@ -2,7 +2,7 @@ Name:Feast of Worms
ManaCost:3 G G
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.
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
AI:RemoveDeck:Random
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
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +2 | NumDef$ +2
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +2 | NumDef$ +2
SVar:PlayMain1:TRUE
Oracle:Whenever a creature you control attacks, it gets +2/+2 until end of turn.

View File

@@ -1,6 +1,7 @@
Name:Filigree Fracture
ManaCost:2 G
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.
SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Targeted | ConditionPresent$ Permanent.Blue,Permanent.Black | ConditionCompare$ EQ1 | ConditionDescription$ If that permanent was blue or black,
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$ 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.

View File

@@ -3,7 +3,7 @@ ManaCost:2 G W U
Types:Enchantment
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.
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: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.

View File

@@ -5,6 +5,6 @@ PT:2/3
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$ 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:TrigBlocked:DB$ Pump | Defined$ TriggeredBlocker | NumAtt$ +1 | NumDef$ +1
SVar:TrigBlocks:DB$ Pump | Defined$ TriggeredAttackerLKICopy | 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.

View File

@@ -3,5 +3,5 @@ ManaCost:2 R G W
Types:Legendary Creature Beast
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.
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.

View File

@@ -4,5 +4,5 @@ Types:Creature Elk Beast
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.
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.

View File

@@ -9,5 +9,5 @@ SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X
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."
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."

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.
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: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
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.

View File

@@ -3,6 +3,6 @@ ManaCost:2 R G
Types:Legendary Creature Elf Warrior
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X
SVar:X:TriggerCount$NumBlockers/Times.3
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +X | NumDef$ +X
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.

View File

@@ -2,6 +2,6 @@ Name:Gloomlance
ManaCost:3 B B
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.
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
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
ManaCost:3 G
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.
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.
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$ 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.)

View File

@@ -3,5 +3,5 @@ ManaCost:3 W
Types:Enchantment Creature Human Cleric
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.
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.

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: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:PumpAttacker:DB$ Pump | Defined$ TriggeredAttacker | KW$ First Strike
SVar:PumpBlocker:DB$ Pump | Defined$ TriggeredBlocker | KW$ First Strike
SVar:PumpAttacker:DB$ Pump | Defined$ TriggeredAttackerLKICopy | 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.

View File

@@ -3,6 +3,5 @@ ManaCost:3 G G
Types:Creature Ape
PT:4/4
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.
SVar:X:Count$InYourYard
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.
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
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.
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.

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.
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:TrigDestroy:DB$ Destroy | Defined$ TriggeredTarget
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy
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.

View File

@@ -4,6 +4,6 @@ Types:Creature Bird Soldier
PT:3/4
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.
SVar:TrigUntapRemove:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBRemoveCombat
SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker
SVar:TrigUntapRemove:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBRemoveCombat
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.

View File

@@ -3,6 +3,6 @@ ManaCost:1
Types:Artifact Equipment
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.)
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Deathtouch
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Deathtouch
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.)

View File

@@ -2,6 +2,7 @@ Name:Helldozer
ManaCost:3 B B B
Types:Creature Zombie Giant
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.
SVar:DBUntap:DB$ Untap | ConditionDefined$ Targeted | ConditionPresent$ Land.nonBasic | ConditionCompare$ EQ1 | Defined$ Self
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$ 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.

View File

@@ -2,6 +2,6 @@ Name:Hour of Glory
ManaCost:3 B
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.
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
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.
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:DBTapAttacker:DB$ Tap | Defined$ TriggeredAttacker | SubAbility$ DBRemoveAttacker
SVar:DBTapBlocker:DB$ Tap | Defined$ TriggeredBlocker | SubAbility$ DBRemoveBlocker
SVar:DBRemoveAttacker:DB$ RemoveFromCombat | Defined$ TriggeredAttacker
SVar:DBRemoveBlocker:DB$ RemoveFromCombat | Defined$ TriggeredBlocker | UnblockCreaturesBlockedOnlyBy$ TriggeredBlocker
SVar:DBTapAttacker:DB$ Tap | Defined$ TriggeredAttackerLKICopy | SubAbility$ DBRemoveAttacker
SVar:DBTapBlocker:DB$ Tap | Defined$ TriggeredBlockerLKICopy | SubAbility$ DBRemoveBlocker
SVar:DBRemoveAttacker:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy
SVar:DBRemoveBlocker:DB$ RemoveFromCombat | Defined$ TriggeredBlockerLKICopy | UnblockCreaturesBlockedOnlyBy$ TriggeredBlocker
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.

View File

@@ -4,7 +4,7 @@ Types:Legendary Planeswalker Jace
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.
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.
SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBHand | UnchosenPile$ DBLibraryBottom
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.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ -X | NumDef$ -Y
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.

View File

@@ -4,5 +4,5 @@ Types:Creature Wurm
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.
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.

View File

@@ -4,7 +4,7 @@ Types:Creature Fox Pilot
PT:2/2
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: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
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.

View File

@@ -4,7 +4,7 @@ Types:Creature Minotaur Warrior
PT:2/3
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +2
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ +2
SVar:BuffedBy:Minotaur
SVar:PlayMain1:TRUE
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
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.
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
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
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: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
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
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.
SVar:TrigBlocks:DB$ Pump | Defined$ TriggeredAttacker | KW$ HIDDEN CARDNAME can't be regenerated.
SVar:TrigBlocked:DB$ Pump | Defined$ TriggeredBlocker | 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$ 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.

View File

@@ -3,7 +3,7 @@ ManaCost:3 G G
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.
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: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.

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.
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.
SVar:TrigPumpAttacker:DB$ Pump | Defined$ TriggeredAttacker | KW$ First Strike
SVar:TrigPumpBlocker:DB$ Pump | Defined$ TriggeredBlocker | KW$ First Strike
SVar:TrigPumpAttacker:DB$ Pump | Defined$ TriggeredAttackerLKICopy | 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.

View File

@@ -4,6 +4,6 @@ Types:Creature Rhino Druid
PT:4/4
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Trample
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Trample
SVar:PlayMain1:TRUE
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
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.
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.
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

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: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:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ RemCombat
SVar:RemCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker
SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ RemCombat
SVar:RemCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy
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.

View File

@@ -6,7 +6,7 @@ K:Defender
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."
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: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

View File

@@ -1,6 +1,7 @@
Name:Molten Rain
ManaCost:1 R R
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.
SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 2 | ConditionDefined$ Targeted | ConditionPresent$ Land.Basic | ConditionCompare$ EQ0 | ConditionDescription$ If that land is nonbasic,
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$ 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.

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.
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
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.

View File

@@ -3,6 +3,5 @@ ManaCost:4 G G
Types:Creature Beast
PT:5/5
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.
SVar:X:Count$TypeInYourYard.Land
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.
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
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:Pump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Lifelink
SVar:Pump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Lifelink
K:Awaken:4:4 W
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.)

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.
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: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:DBClean:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$CardManaCost

View File

@@ -4,5 +4,5 @@ Types:Creature Elephant
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.
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.

View File

@@ -4,5 +4,5 @@ Types:Legendary Creature Human Knight
PT:3/3
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.
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.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Human Samurai
PT:3/3
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.
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
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.

View File

@@ -3,6 +3,6 @@ ManaCost:R W
Types:Legendary Creature Dwarf Artificer
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.
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | KW$ Double Strike
SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Double Strike
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.

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