mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
YWOE high_fae_prankster.txt and support (#3921)
* high_fae_prankster.txt and support * Perpetual rework * fix imports * fix imports * 12/9 cards and tweaks * fix absorb_energy * tidy * 12/10 updates * 12/12 tweaks and fixes * 12/13 tweaks * last tweaks for this PR * revert unneeded * revert unneeded for real * tidy executePerpetual * cleanup imports * tweaks 12/15 * fix imports * LosePerpetualEffect * cleanup import
This commit is contained in:
@@ -107,6 +107,7 @@ public enum SpellApiToAi {
|
||||
.put(ApiType.Investigate, InvestigateAi.class)
|
||||
.put(ApiType.Learn, LearnAi.class)
|
||||
.put(ApiType.LoseLife, LifeLoseAi.class)
|
||||
.put(ApiType.LosePerpetual, AlwaysPlayAi.class)
|
||||
.put(ApiType.LosesGame, GameLossAi.class)
|
||||
.put(ApiType.MakeCard, AlwaysPlayAi.class)
|
||||
.put(ApiType.Mana, ManaEffectAi.class)
|
||||
|
||||
@@ -250,7 +250,7 @@ public final class CardType implements Comparable<CardType>, CardTypeView {
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return coreTypes.isEmpty() && supertypes.isEmpty() && subtypes.isEmpty() && !excludedCreatureSubtypes.isEmpty();
|
||||
return coreTypes.isEmpty() && supertypes.isEmpty() && subtypes.isEmpty() && excludedCreatureSubtypes.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -315,6 +315,16 @@ public class GameAction {
|
||||
}
|
||||
}
|
||||
|
||||
// perpetual stuff
|
||||
if (c.hasIntensity()) {
|
||||
copied.setIntensity(c.getIntensity(false));
|
||||
}
|
||||
if (c.isSpecialized()) {
|
||||
copied.setState(c.getCurrentStateName(), false);
|
||||
}
|
||||
if (c.hasPerpetual()) {
|
||||
copied.setPerpetual(c);
|
||||
}
|
||||
// ensure that any leftover keyword/type changes are cleared in the state view
|
||||
copied.updateStateForView();
|
||||
|
||||
@@ -577,15 +587,6 @@ public class GameAction {
|
||||
copied.clearEtbCounters();
|
||||
}
|
||||
|
||||
// intensity is perpetual
|
||||
if (c.hasIntensity()) {
|
||||
copied.setIntensity(c.getIntensity(false));
|
||||
}
|
||||
// specialize is perpetual
|
||||
if (c.isSpecialized()) {
|
||||
copied.setState(c.getCurrentStateName(), false);
|
||||
}
|
||||
|
||||
// update state for view
|
||||
copied.updateStateForView();
|
||||
|
||||
|
||||
@@ -2154,6 +2154,10 @@ public class AbilityUtils {
|
||||
return doXMath(c.getRememberedCount(), expr, c, ctb);
|
||||
}
|
||||
|
||||
if (sq[0].startsWith("ChosenSize")) {
|
||||
return doXMath(c.getChosenCards().size(), expr, c, ctb);
|
||||
}
|
||||
|
||||
if (sq[0].startsWith("ImprintedSize")) {
|
||||
return doXMath(c.getImprintedCards().size(), expr, c, ctb);
|
||||
}
|
||||
|
||||
@@ -107,6 +107,7 @@ public enum ApiType {
|
||||
Learn (LearnEffect.class),
|
||||
LookAt (LookAtEffect.class),
|
||||
LoseLife (LifeLoseEffect.class),
|
||||
LosePerpetual (LosePerpetualEffect.class),
|
||||
LosesGame (GameLossEffect.class),
|
||||
MakeCard (MakeCardEffect.class),
|
||||
Mana (ManaEffect.class),
|
||||
|
||||
@@ -170,7 +170,8 @@ public abstract class SpellAbilityEffect {
|
||||
if ("}".equals(t)) { isPlainText = true; continue; }
|
||||
|
||||
if (!isPlainText) {
|
||||
if (t.startsWith("n:")) { // {n:<SVar> <noun(opt.)>}
|
||||
if (t.length() <= 2) sb.append("{").append(t).append("}"); // string includes mana cost (e.g. {2}{R})
|
||||
else if (t.startsWith("n:")) { // {n:<SVar> <noun(opt.)>}
|
||||
String parts[] = t.substring(2).split(" ", 2);
|
||||
int n = AbilityUtils.calculateAmount(sa.getHostCard(), parts[0], sa);
|
||||
sb.append(parts.length == 1 ? Lang.getNumeral(n) : Lang.nounWithNumeral(n, parts[1]));
|
||||
|
||||
@@ -22,7 +22,7 @@ public class AnimateAllEffect extends AnimateEffectBase {
|
||||
|
||||
@Override
|
||||
protected String getStackDescription(SpellAbility sa) {
|
||||
return "Animate all valid cards.";
|
||||
return sa.getParamOrDefault("SpellDescription", "Animate all valid cards.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -133,10 +133,12 @@ public class AnimateAllEffect extends AnimateEffectBase {
|
||||
|
||||
CardCollectionView list;
|
||||
|
||||
ZoneType z = sa.hasParam("Zone") ? ZoneType.smartValueOf(sa.getParam("Zone")) : ZoneType.Battlefield;
|
||||
|
||||
if (sa.usesTargeting() || sa.hasParam("Defined")) {
|
||||
list = getTargetPlayers(sa).getCardsIn(ZoneType.Battlefield);
|
||||
list = getTargetPlayers(sa).getCardsIn(z);
|
||||
} else {
|
||||
list = game.getCardsIn(ZoneType.Battlefield);
|
||||
list = game.getCardsIn(z);
|
||||
}
|
||||
|
||||
list = CardLists.getValidCards(list, valid, sa.getActivatingPlayer(), host, sa);
|
||||
|
||||
@@ -18,7 +18,9 @@
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -52,6 +54,7 @@ public abstract class AnimateEffectBase extends SpellAbilityEffect {
|
||||
final long timestamp, final String duration) {
|
||||
final Card source = sa.getHostCard();
|
||||
final Game game = source.getGame();
|
||||
final boolean perpetual = "Perpetual".equals(duration);
|
||||
|
||||
boolean addAllCreatureTypes = sa.hasParam("AddAllCreatureTypes");
|
||||
|
||||
@@ -79,15 +82,40 @@ public abstract class AnimateEffectBase extends SpellAbilityEffect {
|
||||
}
|
||||
|
||||
if (!addType.isEmpty() || !removeType.isEmpty() || addAllCreatureTypes || !remove.isEmpty()) {
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("AddTypes", addType);
|
||||
params.put("RemoveTypes", removeType);
|
||||
params.put("RemoveXTypes", remove);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "Types");
|
||||
c.addPerpetual(params);
|
||||
}
|
||||
c.addChangedCardTypes(addType, removeType, addAllCreatureTypes, remove, timestamp, 0, true, false);
|
||||
}
|
||||
|
||||
if (!keywords.isEmpty() || !removeKeywords.isEmpty() || removeAll) {
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("AddKeywords", keywords);
|
||||
params.put("RemoveAll", removeAll);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "Keywords");
|
||||
c.addPerpetual(params);
|
||||
}
|
||||
c.addChangedCardKeywords(keywords, removeKeywords, removeAll, timestamp, 0);
|
||||
}
|
||||
|
||||
// do this after changing types in case it wasn't a creature before
|
||||
if (power != null || toughness != null) {
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("Power", power);
|
||||
params.put("Toughness", toughness);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "NewPT");
|
||||
c.addPerpetual(params);
|
||||
}
|
||||
c.addNewPT(power, toughness, timestamp, 0);
|
||||
}
|
||||
|
||||
@@ -184,10 +212,16 @@ public abstract class AnimateEffectBase extends SpellAbilityEffect {
|
||||
|| !addedAbilities.isEmpty() || !removedAbilities.isEmpty() || !addedTriggers.isEmpty()
|
||||
|| !addedReplacements.isEmpty() || !addedStaticAbilities.isEmpty()) {
|
||||
c.addChangedCardTraits(addedAbilities, removedAbilities, addedTriggers, addedReplacements,
|
||||
addedStaticAbilities, removeAll, removeNonManaAbilities, timestamp, 0);
|
||||
addedStaticAbilities, removeAll, removeNonManaAbilities, timestamp, 0);
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "Abilities");
|
||||
c.addPerpetual(params);
|
||||
}
|
||||
}
|
||||
|
||||
if (!"Permanent".equals(duration)) {
|
||||
if (!"Permanent".equals(duration) && !perpetual) {
|
||||
if ("UntilControllerNextUntap".equals(duration)) {
|
||||
game.getUntap().addUntil(c.getController(), unanimate);
|
||||
} else {
|
||||
|
||||
@@ -45,7 +45,9 @@ public class ChooseCardEffect extends SpellAbilityEffect {
|
||||
}
|
||||
sb.append(Lang.nounWithNumeralExceptOne(numCards, desc));
|
||||
if (sa.hasParam("FromDesc")) {
|
||||
sb.append(" ").append(sa.getParam("FromDesc"));
|
||||
sb.append(" from ").append(sa.getParam("FromDesc"));
|
||||
} else if (sa.hasParam("ChoiceZone") && sa.getParam("ChoiceZone").equals("Hand")) {
|
||||
sb.append(" in their hand");
|
||||
}
|
||||
sb.append(".");
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@ public class DestroyEffect extends SpellAbilityEffect {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
final List<Card> tgtCards = getTargetCards(sa);
|
||||
// up to X targets and chose 0 or similar situations
|
||||
if (tgtCards.isEmpty()) return sa.getParamOrDefault("SpellDescription", "");
|
||||
final boolean justOne = tgtCards.size() == 1;
|
||||
|
||||
sb.append(sa.hasParam("Sacrifice") ? "Sacrifice " : "Destroy ").append(Lang.joinHomogenous(tgtCards));
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import com.google.common.collect.Table.Cell;
|
||||
|
||||
import forge.game.ability.SpellAbilityEffect;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.card.CardTraitChanges;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
import forge.game.trigger.Trigger;
|
||||
|
||||
public class LosePerpetualEffect extends SpellAbilityEffect {
|
||||
|
||||
@Override
|
||||
public void resolve(SpellAbility sa) {
|
||||
final Card host = sa.getHostCard();
|
||||
long toRemove = (long) 0;
|
||||
// currently only part of perpetual triggers... expand in future as needed
|
||||
if (sa.getTrigger() != null) {
|
||||
Trigger trig = sa.getTrigger();
|
||||
for (Cell<Long, Long, CardTraitChanges> cell : host.getChangedCardTraits().cellSet()) {
|
||||
if (cell.getValue().getTriggers().contains(trig)) {
|
||||
toRemove = cell.getRowKey();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (toRemove != (long) 0) {
|
||||
host.getChangedCardTraits().remove(toRemove, (long) 0);
|
||||
host.removePerpetual(toRemove);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.GameCommand;
|
||||
import forge.game.Game;
|
||||
@@ -34,6 +36,7 @@ public class PowerExchangeEffect extends SpellAbilityEffect {
|
||||
*/
|
||||
@Override
|
||||
public void resolve(SpellAbility sa) {
|
||||
final boolean perpetual = "Perpetual".equals(sa.getParam("Duration"));
|
||||
final Card source = sa.getHostCard();
|
||||
final Game game = source.getGame();
|
||||
final Card c1;
|
||||
@@ -51,18 +54,28 @@ public class PowerExchangeEffect extends SpellAbilityEffect {
|
||||
if (!c1.isInPlay() || !c2.isInPlay()) {
|
||||
return;
|
||||
}
|
||||
final int power1 = c1.getNetPower();
|
||||
final int power2 = c2.getNetPower();
|
||||
final boolean basePower = sa.hasParam("BasePower");
|
||||
final int power1 = basePower ? c1.getCurrentPower() : c1.getNetPower();
|
||||
final int power2 = basePower ? c2.getCurrentPower() : c2.getNetPower();
|
||||
|
||||
final long timestamp = game.getNextTimestamp();
|
||||
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("Power", power2);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "NewPT");
|
||||
c1.addPerpetual(params);
|
||||
params.put("Power", power1);
|
||||
c2.addPerpetual(params);
|
||||
}
|
||||
c1.addNewPT(power2, null, timestamp, 0);
|
||||
c2.addNewPT(power1, null, timestamp, 0);
|
||||
|
||||
game.fireEvent(new GameEventCardStatsChanged(c1));
|
||||
game.fireEvent(new GameEventCardStatsChanged(c2));
|
||||
|
||||
if (!"Permanent".equals(sa.getParam("Duration"))) {
|
||||
if (!"Permanent".equals(sa.getParam("Duration")) && !perpetual) {
|
||||
// If not Permanent, remove Pumped at EOT
|
||||
final GameCommand untilEOT = new GameCommand() {
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -27,6 +29,7 @@ public class PumpAllEffect extends SpellAbilityEffect {
|
||||
final long timestamp = game.getNextTimestamp();
|
||||
final List<String> kws = Lists.newArrayList();
|
||||
final List<String> hiddenkws = Lists.newArrayList();
|
||||
final boolean perpetual = ("Perpetual").equals(sa.getParam("Duration"));
|
||||
|
||||
for (String kw : keywords) {
|
||||
if (kw.startsWith("HIDDEN")) {
|
||||
@@ -38,25 +41,33 @@ public class PumpAllEffect extends SpellAbilityEffect {
|
||||
|
||||
for (final Card tgtC : list) {
|
||||
// only pump things in the affected zones.
|
||||
boolean found = false;
|
||||
for (final ZoneType z : affectedZones) {
|
||||
if (tgtC.isInZone(z)) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
if (!tgtC.isInZones(affectedZones)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
boolean redrawPT = false;
|
||||
|
||||
if (a != 0 || d != 0) {
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("Power", a);
|
||||
params.put("Toughness", d);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "PTBoost");
|
||||
tgtC.addPerpetual(params);
|
||||
}
|
||||
tgtC.addPTBoost(a, d, timestamp, 0);
|
||||
redrawPT = true;
|
||||
}
|
||||
|
||||
if (!kws.isEmpty()) {
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("AddKeywords", kws);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "Keywords");
|
||||
tgtC.addPerpetual(params);
|
||||
}
|
||||
tgtC.addChangedCardKeywords(kws, null, false, timestamp, 0);
|
||||
}
|
||||
if (redrawPT) {
|
||||
@@ -71,7 +82,7 @@ public class PumpAllEffect extends SpellAbilityEffect {
|
||||
sa.getHostCard().addRemembered(tgtC);
|
||||
}
|
||||
|
||||
if (!"Permanent".equals(sa.getParam("Duration"))) {
|
||||
if (!"Permanent".equals(sa.getParam("Duration")) && !perpetual) {
|
||||
// If not Permanent, remove Pumped at EOT
|
||||
final GameCommand untilEOT = new GameCommand() {
|
||||
private static final long serialVersionUID = 5415795460189457660L;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@@ -40,6 +42,7 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
final Card host = sa.getHostCard();
|
||||
final Game game = host.getGame();
|
||||
final String duration = sa.getParam("Duration");
|
||||
final boolean perpetual = ("Perpetual").equals(duration);
|
||||
|
||||
//if host is not on the battlefield don't apply
|
||||
// Suspend should does Affect the Stack
|
||||
@@ -70,12 +73,28 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
}
|
||||
|
||||
if (a != 0 || d != 0) {
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("Power", a);
|
||||
params.put("Toughness", d);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "PTBoost");
|
||||
gameCard.addPerpetual(params);
|
||||
}
|
||||
gameCard.addPTBoost(a, d, timestamp, 0);
|
||||
redrawPT = true;
|
||||
}
|
||||
|
||||
if (!kws.isEmpty()) {
|
||||
gameCard.addChangedCardKeywords(kws, Lists.newArrayList(), false, timestamp, 0);
|
||||
if (perpetual) {
|
||||
Map <String, Object> params = new HashMap<>();
|
||||
params.put("AddKeywords", kws);
|
||||
params.put("Timestamp", timestamp);
|
||||
params.put("Category", "Keywords");
|
||||
gameCard.addPerpetual(params);
|
||||
}
|
||||
gameCard.addChangedCardKeywords(kws, Lists.newArrayList(), false, timestamp, 0);
|
||||
|
||||
}
|
||||
if (!hiddenKws.isEmpty()) {
|
||||
gameCard.addHiddenExtrinsicKeywords(timestamp, 0, hiddenKws);
|
||||
@@ -96,7 +115,7 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
addLeaveBattlefieldReplacement(gameCard, sa, sa.getParam("LeaveBattlefield"));
|
||||
}
|
||||
|
||||
if (!"Permanent".equals(duration)) {
|
||||
if (!"Permanent".equals(duration) && !perpetual) {
|
||||
// If not Permanent, remove Pumped at EOT
|
||||
final GameCommand untilEOT = new GameCommand() {
|
||||
private static final long serialVersionUID = -42244224L;
|
||||
@@ -434,8 +453,8 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
host.removeImprintedCards(AbilityUtils.getDefinedCards(host, sa.getParam("ForgetImprinted"), sa));
|
||||
}
|
||||
|
||||
final ZoneType pumpZone = sa.hasParam("PumpZone") ? ZoneType.smartValueOf(sa.getParam("PumpZone"))
|
||||
: ZoneType.Battlefield;
|
||||
List<ZoneType> pumpZones = sa.hasParam("PumpZone") ? ZoneType.listValueOf(sa.getParam("PumpZone"))
|
||||
: ZoneType.listValueOf("Battlefield");
|
||||
|
||||
for (Card tgtC : tgtCards) {
|
||||
// CR 702.26e
|
||||
@@ -443,8 +462,8 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
continue;
|
||||
}
|
||||
|
||||
// only pump things in PumpZone
|
||||
if (!tgtC.isInZone(pumpZone)) {
|
||||
// only pump things in PumpZones
|
||||
if (!tgtC.isInZones(pumpZones)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -488,7 +507,7 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
|
||||
for (final Card tgtC : untargetedCards) {
|
||||
// only pump things in PumpZone
|
||||
if (!tgtC.isInZone(pumpZone)) {
|
||||
if (!tgtC.isInZones(pumpZones)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -2175,8 +2175,6 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
final String[] upkeepCostParams = keyword.split(":");
|
||||
sbLong.append(upkeepCostParams.length > 2 ? "— " + upkeepCostParams[2] : ManaCostParser.parse(upkeepCostParams[1]));
|
||||
sbLong.append("\r\n");
|
||||
} else if (keyword.startsWith("Alternative Cost")) {
|
||||
sbLong.append("Has alternative cost.");
|
||||
} else if (keyword.startsWith("AlternateAdditionalCost")) {
|
||||
final String[] costs = keyword.split(":", 2)[1].split(":");
|
||||
sbLong.append("As an additional cost to cast this spell, ");
|
||||
@@ -2386,7 +2384,8 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
|| keyword.startsWith("Encore") || keyword.startsWith("Mutate") || keyword.startsWith("Dungeon")
|
||||
|| keyword.startsWith("Class") || keyword.startsWith("Blitz")
|
||||
|| keyword.startsWith("Specialize") || keyword.equals("Ravenous")
|
||||
|| keyword.equals("For Mirrodin") || keyword.startsWith("Craft")) {
|
||||
|| keyword.equals("For Mirrodin") || keyword.startsWith("Craft")
|
||||
|| keyword.startsWith("Alternative Cost")) {
|
||||
// keyword parsing takes care of adding a proper description
|
||||
} else if (keyword.startsWith("Read ahead")) {
|
||||
sb.append(Localizer.getInstance().getMessage("lblReadAhead")).append(" (").append(Localizer.getInstance().getMessage("lblReadAheadDesc"));
|
||||
@@ -4393,6 +4392,59 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
return intensity > 0;
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> perpetual = new ArrayList<>();
|
||||
public final boolean hasPerpetual() {
|
||||
return !perpetual.isEmpty();
|
||||
}
|
||||
public final List<Map<String, Object>> getPerpetual() {
|
||||
return perpetual;
|
||||
}
|
||||
|
||||
public final void addPerpetual(Map<String, Object> p) {
|
||||
perpetual.add(p);
|
||||
}
|
||||
|
||||
public final void executePerpetual(Map<String, Object> p) {
|
||||
final String category = (String) p.get("Category");
|
||||
if (category.equals("NewPT")) {
|
||||
addNewPT((Integer) p.get("Power"), (Integer) p.get("Toughness"), (long)
|
||||
p.get("Timestamp"), (long) 0);
|
||||
} else if (category.equals("PTBoost")) {
|
||||
addPTBoost((Integer) p.get("Power"), (Integer) p.get("Toughness"), (long)
|
||||
p.get("Timestamp"), (long) 0);
|
||||
} else if (category.equals("Keywords")) {
|
||||
addChangedCardKeywords((List<String>) p.get("AddKeywords"), Lists.newArrayList(),
|
||||
(boolean) p.get("RemoveAll"), (long) p.get("Timestamp"), (long) 0);
|
||||
} else if (category.equals("Types")) {
|
||||
addChangedCardTypes((CardType) p.get("AddTypes"), (CardType) p.get("RemoveTypes"),
|
||||
false, (Set<RemoveType>) p.get("RemoveXTypes"),
|
||||
(long) p.get("Timestamp"), (long) 0, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
public final void removePerpetual(final long timestamp) {
|
||||
Map<String, Object> toRemove = Maps.newHashMap();
|
||||
for (Map<String, Object> p : perpetual) {
|
||||
if (p.get("Timestamp").equals(timestamp)) {
|
||||
toRemove = p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
perpetual.remove(toRemove);
|
||||
}
|
||||
|
||||
public final void setPerpetual(final Card oldCard) {
|
||||
final List<Map<String, Object>> perp = oldCard.getPerpetual();
|
||||
perpetual = perp;
|
||||
for (Map<String, Object> p : perp) {
|
||||
if (p.get("Category").equals("Abilities")) {
|
||||
long timestamp = (long) p.get("Timestamp");
|
||||
CardTraitChanges ctc = oldCard.getChangedCardTraits().get(timestamp, (long) 0).copy(this, false);
|
||||
addChangedCardTraits(ctc, timestamp, (long) 0);
|
||||
} else executePerpetual(p);
|
||||
}
|
||||
}
|
||||
|
||||
private int multiKickerMagnitude = 0;
|
||||
public final void addMultiKickerMagnitude(final int n) { multiKickerMagnitude += n; }
|
||||
public final void setKickerMagnitude(final int n) { multiKickerMagnitude = n; }
|
||||
@@ -4653,6 +4705,12 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
updateAbilityTextForView();
|
||||
}
|
||||
|
||||
public final void addChangedCardTraits(CardTraitChanges ctc, long timestamp, long staticId) {
|
||||
changedCardTraits.put(timestamp, staticId, ctc);
|
||||
// update view
|
||||
updateAbilityTextForView();
|
||||
}
|
||||
|
||||
public final boolean removeChangedCardTraits(long timestamp, long staticId) {
|
||||
boolean changed = false;
|
||||
changed |= changedCardTraitsByText.remove(timestamp, staticId) != null;
|
||||
@@ -6422,6 +6480,18 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
return z != null && z.is(zone);
|
||||
}
|
||||
|
||||
public boolean isInZones(final List<ZoneType> zones) {
|
||||
boolean inZones = false;
|
||||
Zone z = this.getLastKnownZone();
|
||||
for (ZoneType okZone : zones) {
|
||||
if (z.is(okZone)) {
|
||||
inZones = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return z != null && inZones;
|
||||
}
|
||||
|
||||
public final boolean canBeDestroyed() {
|
||||
return isInPlay() && !isPhasedOut() && (!hasKeyword(Keyword.INDESTRUCTIBLE) || (isCreature() && getNetToughness() <= 0));
|
||||
}
|
||||
|
||||
@@ -291,6 +291,7 @@ public final class CardUtil {
|
||||
}
|
||||
|
||||
newCopy.setIntensity(in.getIntensity(false));
|
||||
newCopy.setPerpetual(in);
|
||||
|
||||
newCopy.addRemembered(in.getRemembered());
|
||||
newCopy.addImprintedCards(in.getImprintedCards());
|
||||
|
||||
@@ -1000,7 +1000,7 @@ public class CardView extends GameEntityView {
|
||||
}
|
||||
|
||||
CardStateView currentStateView = currentState.getView();
|
||||
if (getCurrentState() != currentStateView) {
|
||||
if (getCurrentState() != currentStateView || c.hasPerpetual()) {
|
||||
set(TrackableProperty.CurrentState, currentStateView);
|
||||
currentStateView.updateName(currentState);
|
||||
currentStateView.updatePower(c); //ensure power, toughness, and loyalty updated when current state changes
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Name:Scarecrow Totem
|
||||
ManaCost:no cost
|
||||
Types:Artifact
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigChoose | TriggerDescription$ At the beginning of your end step, conjure a duplicate of a random creature card from your opponent's library into your hand. The duplicate perpetually becomes an Artifact Scarecrow in addition to it's other types and has alternative manacost {4}.
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigChoose | TriggerDescription$ At the beginning of your end step, conjure a duplicate of a random creature card from your opponent's library into your hand. The duplicate perpetually becomes an Artifact Scarecrow in addition to its other types and has alternative manacost {4}.
|
||||
SVar:TrigChoose:DB$ ChooseCard | Choices$ Creature.OppCtrl | ChoiceZone$ Library | AtRandom$ True | SubAbility$ DBConjure
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ ChosenCard | Zone$ Hand | RememberMade$ True | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Name$ Scarecrow Captain's Perpetual Effect | SubAbility$ DBClearChosen
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddKeyword$ Alternative Cost:4 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | AddType$ Artifact & Scarecrow | Description$ That duplicate perpetually becomes an Artifact Scarecrow in addition to it's other types and has alternative manacost {4}.
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddKeyword$ Alternative Cost:4 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | AddType$ Artifact & Scarecrow | Description$ That duplicate perpetually becomes an Artifact Scarecrow in addition to its other types and has alternative manacost {4}.
|
||||
SVar:DBClearChosen:DB$ Cleanup | ClearChosenCard$ True | ClearRemembered$ True
|
||||
Oracle:At the beginning of your end step, conjure a duplicate of a random creature card from your opponent's library into your hand. The duplicate perpetually becomes an Artifact Scarecrow in addition to it's other types and has alternative manacost {4}.
|
||||
Oracle:At the beginning of your end step, conjure a duplicate of a random creature card from your opponent's library into your hand. The duplicate perpetually becomes an Artifact Scarecrow in addition to its other types and has alternative manacost {4}.
|
||||
@@ -1,11 +1,8 @@
|
||||
Name:Absorb Energy
|
||||
ManaCost:1 U U
|
||||
Types:Instant
|
||||
A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | RememberForCounter$ True | SubAbility$ DBEffect | SpellDescription$ Counter target spell.
|
||||
SVar:DBEffect:DB$ Effect | ImprintCards$ Remembered | RememberObjects$ ValidHand Card.YouOwn+sharesCardTypeWith Remembered | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Triggers$ Update | Name$ Absorb Energy's Perpetual Effect | SubAbility$ DBCleanup | SpellDescription$ Cards in your hand that share a card type with that spell perpetually gain "This spell costs {1} less to cast."
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddStaticAbility$ PerpetualReduceCost | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Cards in your hand that share a card type with that [imprinted] spell perpetually gain "This spell costs {1} less to cast."
|
||||
SVar:PerpetualReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast.
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | RememberForCounter$ True | SubAbility$ DBAnimate | SpellDescription$ Counter target spell.
|
||||
SVar:DBAnimate:DB$ AnimateAll | Zone$ Hand | Duration$ Perpetual | ValidCards$ Card.YouOwn+sharesCardTypeWith Remembered | staticAbilities$ ReduceCost | SubAbility$ DBCleanup | SpellDescription$ Cards in your hand that share a card type with that spell perpetually gain "This spell costs {1} less to cast."
|
||||
SVar:ReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
Oracle:Counter target spell. Cards in your hand that share a card type with that spell perpetually gain "This spell costs {1} less to cast."
|
||||
|
||||
@@ -2,9 +2,8 @@ Name:Accident-Prone Apprentice
|
||||
ManaCost:1 R
|
||||
Types:Creature Otter Wizard
|
||||
PT:1/1
|
||||
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield,Exile | Execute$ TrigEffect | TriggerDescription$ Whenever you cast a noncreature spell, CARDNAME perpetually gets +1/+1. This ability also triggers if CARDNAME is in exile.
|
||||
SVar:TrigEffect:DB$ Effect | StaticAbilities$ PerpetualBuff | RememberObjects$ Self | Name$ Accident-Prone Apprentice's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualBuff:Mode$ Continuous | Affected$ Card.IsRemembered | AddPower$ 1 | AddToughness$ 1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gets +1/+1
|
||||
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield,Exile | Execute$ TrigPump | TriggerDescription$ Whenever you cast a noncreature spell, CARDNAME perpetually gets +1/+1. This ability also triggers if CARDNAME is in exile.
|
||||
SVar:TrigPump:DB$ Pump | PumpZone$ Battlefield,Exile | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual
|
||||
AlternateMode:Adventure
|
||||
Oracle:Whenever you cast a noncreature spell, Accident-Prone Apprentice perpetually gets +1/+1. This ability also triggers if Accident-Prone Apprentice is in exile.
|
||||
|
||||
@@ -13,5 +12,5 @@ ALTERNATE
|
||||
Name:Amphibian Accident
|
||||
ManaCost:1 U
|
||||
Types:Instant Adventure
|
||||
A:SP$ Animate | ValidTgts$ Creature | Power$ 1 | Toughness$ 1 | RemoveAllAbilities$ True | Colors$ Blue | OverwriteColors$ True | Types$ Frog | RemoveCreatureTypes$ True | SpellDescription$ Until end of turn, target creature loses all abilities and becomes a blue Frog with base power and toughness 1/1.
|
||||
Oracle:Until end of turn, target creature loses all abilities and becomes a blue Frog with base power and toughness 1/1.
|
||||
A:SP$ Animate | ValidTgts$ Creature | Power$ 1 | Toughness$ 1 | RemoveAllAbilities$ True | Colors$ Blue | OverwriteColors$ True | Types$ Frog | RemoveCreatureTypes$ True | StackDescription$ REP target creature_{c:Targeted} | SpellDescription$ Until end of turn, target creature loses all abilities and becomes a blue Frog with base power and toughness 1/1.
|
||||
Oracle:Until end of turn, target creature loses all abilities and becomes a blue Frog with base power and toughness 1/1.
|
||||
|
||||
@@ -3,12 +3,9 @@ ManaCost:U
|
||||
Types:Creature Human Rogue
|
||||
PT:1/2
|
||||
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Opponent | SubAbility$ DBConjure | StackDescription$ None | SpellDescription$ Choose target opponent.
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ ValidLibrary Card.TopLibrary+TargetedPlayerOwn | Zone$ Hand | RememberMade$ True | SubAbility$ DBEffect | StackDescription$ REP Conjure_{p:You} conjures & their_{p:Targeted}'s & your_their | SpellDescription$ Conjure a duplicate of the top card of their library into your hand.
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Triggers$ Update | Name$ Agent of Raffine's Perpetual Effect | SubAbility$ DBCleanup | SpellDescription$ It perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
SVar:PerpetualAbility:Mode$ Continuous | AddStaticAbility$ SpendAnyMana | Affected$ Card.IsRemembered | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The conjured card perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ ValidLibrary Card.TopLibrary+TargetedPlayerOwn | Zone$ Hand | RememberMade$ True | SubAbility$ DBAnimate | StackDescription$ REP Conjure_{p:You} conjures & their_{p:Targeted}'s & your_their | SpellDescription$ Conjure a duplicate of the top card of their library into your hand.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | staticAbilities$ SpendAnyMana | Duration$ Perpetual | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ It perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
SVar:SpendAnyMana:Mode$ ManaConvert | EffectZone$ Stack | ValidPlayer$ You | ValidCard$ Card.Self | ValidSA$ Spell | ManaConversion$ AnyType->AnyColor | Description$ You may spend mana as though it were mana of any color to cast this spell.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBExileTop
|
||||
SVar:DBExileTop:DB$ Dig | Defined$ TargetedPlayer | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | ExileFaceDown$ True | StackDescription$ REP they exile_{p:Targeted} exiles | SpellDescription$ Then they exile the top card of their library face down.
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
Oracle:{2}, {T}: Choose target opponent. Conjure a duplicate of the top card of their library into your hand. It perpetually gains "You may spend mana as though it were mana of any color to cast this spell." Then they exile the top card of their library face down.
|
||||
|
||||
@@ -6,9 +6,8 @@ K:Flying
|
||||
K:Lifelink
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ Whenever CARDNAME enters the battlefield or you cast a party spell, choose a party creature card in your hand. It perpetually gets +1/+1. (A party card or spell is a Cleric, Rogue, Warrior, or Wizard.)
|
||||
T:Mode$ SpellCast | ValidCard$ Card.Party | ValidActivatingPlayer$ You | Execute$ TrigChoose | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or you cast a party spell, choose a party creature card in your hand. It perpetually gets +1/+1. (A party card or spell is a Cleric, Rogue, Warrior, or Wizard.)
|
||||
SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Creature.Party+YouOwn | ChoiceTitle$ Choose a party creature card in your hand | Amount$ 1 | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualP1P1 | Name$ Angel of Unity's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualP1P1:Mode$ Continuous | Affected$ Card.ChosenCard | AddPower$ 1 | AddToughness$ 1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen card perpetually gets +1/+1.
|
||||
SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Creature.Party+YouOwn | ChoiceTitle$ Choose a party creature card in your hand | Amount$ 1 | SubAbility$ DBPump
|
||||
SVar:DBPump:DB$ Pump | Defined$ ChosenCard | PumpZone$ Hand | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
DeckHas:Ability$Party|LifeGain
|
||||
SVar:BuffedBy:Cleric,Rogue,Warrior,Wizard
|
||||
|
||||
@@ -3,14 +3,11 @@ ManaCost:1 G
|
||||
Types:Creature Human Rogue
|
||||
PT:2/2
|
||||
S:Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.powerLE2 | Description$ CARDNAME can't be blocked by creatures with power 2 or less.
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ When CARDNAME enters the battlefield, creatures you control perpetually gain "When this creature dies, you may shuffle it into its owner's library if it's in your graveyard. If you do, investigate."
|
||||
SVar:TrigEffect:DB$ Effect | RememberObjects$ Valid Creature.YouCtrl | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Triggers$ Update | Name$ Antique Collector's Perpetual Effect
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddTrigger$ DiesTrigger | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Creatures you control perpetually gain "When this creature dies, you may shuffle it into its owner's library if it's in your graveyard. If you do, investigate."
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigAnimateAll | TriggerDescription$ When CARDNAME enters the battlefield, creatures you control perpetually gain "When this creature dies, you may shuffle it into its owner's library if it's in your graveyard. If you do, investigate."
|
||||
SVar:TrigAnimateAll:DB$ AnimateAll | Duration$ Perpetual | ValidCards$ Creature.YouCtrl | Triggers$ DiesTrigger
|
||||
SVar:DiesTrigger:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigShuffle | OptionalDecider$ You | TriggerDescription$ When this creature dies, you may shuffle it into its owner's library if it's in your graveyard. If you do, investigate.
|
||||
SVar:TrigShuffle:DB$ ChangeZone | Origin$ Graveyard | Destination$ Library | Shuffle$ True | Defined$ TriggeredNewCardLKICopy | RememberChanged$ True | SubAbility$ DBInvestigate
|
||||
SVar:DBInvestigate:DB$ Investigate | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup
|
||||
SVar:DBInvestigate:DB$ Investigate | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
DeckHas:Ability$Investigate|Token
|
||||
DeckHas:Ability$Investigate|Token|Graveyard & Type$Artifact|Clue
|
||||
Oracle:Antique Collector can't be blocked by creatures with power 2 or less.\nWhen Antique Collector enters the battlefield, creatures you control perpetually gain "When this creature dies, you may shuffle it into its owner's library if it's in your graveyard. If you do, investigate."
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
Name:Argivian Welcome
|
||||
ManaCost:W U
|
||||
Types:Instant
|
||||
A:SP$ Destroy | ValidTgts$ Creature.powerGE4 | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target creature with power 4 or greater | SubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Destroy up to one target creature with power 4 or greater. Choose a nonland card in your hand. It perpetually gains flash.
|
||||
SVar:DBChoose:DB$ ChooseCard | Mandatory$ True | ChoiceZone$ Hand | Choices$ Card.nonLand+YouOwn | ChoiceTitle$ Choose a nonland card in your hand | Amount$ 1 | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualFlash | Name$ Argivian Welcome's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualFlash:Mode$ Continuous | Affected$ Card.ChosenCard | AddKeyword$ Flash | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen card perpetually gains flash.
|
||||
A:SP$ Destroy | ValidTgts$ Creature.powerGE4 | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target creature with power 4 or greater | SubAbility$ DBChoose | SpellDescription$ Destroy up to one target creature with power 4 or greater.
|
||||
SVar:DBChoose:DB$ ChooseCard | Mandatory$ True | ChoiceZone$ Hand | Choices$ Card.nonLand+YouOwn | ChoiceDesc$ nonland | ChoiceTitle$ Choose a nonland card in your hand | Amount$ 1 | SubAbility$ DBPump | SpellDescription$ ,,,,,,Choose a nonland card in your hand.
|
||||
SVar:DBPump:DB$ Pump | Defined$ ChosenCard | KW$ Flash | Duration$ Perpetual | PumpZone$ Hand | StackDescription$ SpellDescription | SpellDescription$ It perpetually gains flash.
|
||||
Oracle:Destroy up to one target creature with power 4 or greater.\nChoose a nonland card in your hand. It perpetually gains flash.
|
||||
|
||||
@@ -2,5 +2,5 @@ Name:Argothian Elder
|
||||
ManaCost:3 G
|
||||
Types:Creature Elf Druid
|
||||
PT:2/2
|
||||
A:AB$ Untap | Cost$ T | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select target land | SpellDescription$ Untap two target lands.
|
||||
A:AB$ Untap | Cost$ T | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | SpellDescription$ Untap two target lands.
|
||||
Oracle:{T}: Untap two target lands.
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
Name:Arming Gala
|
||||
ManaCost:3 G W
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ DBEffect | TriggerDescription$ At the beginning of your end step, creatures you control and creature cards in your hand, library, and graveyard perpetually get +1/+1.
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ Valid Creature.YouCtrl,ValidHand Creature.YouOwn,ValidGraveyard Creature.YouOwn,ValidLibrary Creature.YouOwn | StaticAbilities$ PerpetualP1P1 | Name$ Arming Gala's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualP1P1:Mode$ Continuous | Affected$ Card.IsRemembered | AddPower$ 1 | AddToughness$ 1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ At the beginning of your end step, creatures you control and creature cards in your hand, library, and graveyard perpetually get +1/+1.
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
Oracle:At the beginning of your end step, creatures you control and creature cards in your hand, library, and graveyard perpetually get +1/+1.
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPerpetualP1P1 | TriggerDescription$ At the beginning of your end step, creatures you control and creature cards in your hand, library, and graveyard perpetually get +1/+1.
|
||||
SVar:TrigPerpetualP1P1:DB$ PumpAll | ValidCards$ Creature.YouCtrl | PumpZone$ Battlefield,Hand,Library,Graveyard | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual
|
||||
Oracle:At the beginning of your end step, creatures you control and creature cards in your hand, library, and graveyard perpetually get +1/+1.
|
||||
|
||||
@@ -4,12 +4,9 @@ Types:Legendary Creature Vampire Knight
|
||||
PT:1/1
|
||||
K:Deathtouch
|
||||
K:Lifelink
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield,Graveyard | CheckSVar$ X | Execute$ DBStore | TriggerDescription$ At the beginning of your end step, if a creature died this turn, CARDNAME perpetually gets +X/+X where X is the number of creatures that died this turn. This ability also triggers if NICKNAME is in your graveyard.
|
||||
SVar:DBStore:DB$ StoreSVar | SVar$ Num | Type$ CountSVar | Expression$ X | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualPXPX | Name$ Arvad, Weatherlight Smuggler's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualPXPX:Mode$ Continuous | Affected$ Card.EffectSource | AddPower$ Num | AddToughness$ Num | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ CARDNAME perpetually gets +X/+X, where X is the number of creatures that died this turn.
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield,Graveyard | CheckSVar$ X | Execute$ TrigPump | TriggerDescription$ At the beginning of your end step, if a creature died this turn, CARDNAME perpetually gets +X/+X where X is the number of creatures that died this turn. This ability also triggers if NICKNAME is in your graveyard.
|
||||
SVar:TrigPump:DB$ Pump | Defined$ Self | PumpZone$ Battlefield,Graveyard | NumAtt$ X | NumDef$ X | Duration$ Perpetual
|
||||
SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature
|
||||
SVar:Num:Number$0
|
||||
DeckHas:Ability$Graveyard|LifeGain
|
||||
DeckHints:Ability$Sacrifice
|
||||
Oracle:Deathtouch, lifelink\nAt the beginning of your end step, if a creature died this turn, Arvad, Weatherlight Smuggler perpetually gets +X/+X, where X is the number of creature that died this turn. This ability also triggers if Arvad is in your graveyard.
|
||||
DeckHints:Ability$Sacrifice|Graveyard
|
||||
Oracle:Deathtouch, lifelink\nAt the beginning of your end step, if a creature died this turn, Arvad, Weatherlight Smuggler perpetually gets +X/+X where X is the number of creatures that died this turn. This ability also triggers if Arvad is in your graveyard.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
Name:Baffling Defenses
|
||||
ManaCost:1 W
|
||||
Types:Instant
|
||||
A:SP$ Effect | StaticAbilities$ Perpetual0P | RememberObjects$ Targeted | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | Name$ Baffling Defenses's Perpetual Effect | Duration$ Permanent | SpellDescription$ Target creature's base power perpetually becomes 0.
|
||||
SVar:Perpetual0P:Mode$ Continuous | Affected$ Card.IsRemembered | SetPower$ 0 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature's base power perpetually becomes 0.
|
||||
A:SP$ Animate | ValidTgts$ Creature | IsCurse$ True | Power$ 0 | Duration$ Perpetual | StackDescription$ REP Target creature_{c:Targeted} | SpellDescription$ Target creature's base power perpetually becomes 0.
|
||||
Oracle:Target creature's base power perpetually becomes 0.
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
Name:Begin Anew
|
||||
ManaCost:G G W W
|
||||
Types:Sorcery
|
||||
A:SP$ DestroyAll | ValidCards$ Creature | SubAbility$ DBEffect | SpellDescription$ Destroy all creatures.
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ ValidHand Creature.YouOwn | StaticAbilities$ PerpetualP1P1 | Duration$ Permanent | Triggers$ Update | Name$ Begin Anew's Perpetual Effect | SpellDescription$ Creature cards in your hand perpetually get +1/+1.
|
||||
SVar:PerpetualP1P1:Mode$ Continuous | Affected$ Card.IsRemembered | AddPower$ 1 | AddToughness$ 1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Creature cards in your hand perpetually get +1/+1.
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
A:SP$ DestroyAll | ValidCards$ Creature | SubAbility$ DBPumpAll | SpellDescription$ Destroy all creatures.
|
||||
SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature | PumpZone$ Hand | Duration$ Perpetual | NumAtt$ 1 | NumDef$ 1 | StackDescription$ REP your_{p:You}'s | SpellDescription$ Creature cards in your hand perpetually get +1/+1.
|
||||
Oracle:Destroy all creatures. Creature cards in your hand perpetually get +1/+1.
|
||||
|
||||
@@ -4,10 +4,11 @@ Types:Creature Human Soldier
|
||||
PT:1/2
|
||||
K:Lifelink
|
||||
T:Mode$ Cycled | ValidCard$ Card.Other | ValidPlayer$ You | TriggerZones$ Graveyard | Execute$ TrigReturn | TriggerDescription$ Whenever you cycle another card, you may pay {1}{W}. If you do, return CARDNAME from your graveyard to the battlefield tapped and it perpetually gets +1/+0.
|
||||
SVar:TrigReturn:AB$ ChangeZone | Cost$ 1 W | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualPump | RememberObjects$ Self | Name$ Benalish Partisan's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualPump:Mode$ Continuous | Affected$ Card.IsRemembered | AddPower$ 1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ EFFECTSOURCE perpetually gets +1/+0.
|
||||
SVar:TrigReturn:AB$ ChangeZone | Cost$ 1 W | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | RememberChanged$ True | SubAbility$ DBPump
|
||||
SVar:DBPump:DB$ Pump | Defined$ Remembered | NumAtt$ 1 | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
K:Cycling:1 W
|
||||
DeckHas:Ability$LifeGain|Graveyard
|
||||
DeckNeeds:Keyword$Cycling
|
||||
SVar:SacMe:2
|
||||
Oracle:Lifelink\nWhenever you cycle another card, you may pay {1}{W}. If you do, return Benalish Partisan from your graveyard to the battlefield tapped and it perpetually gets +1/+0.\nCycling {1}{W}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
Name:Better Offer
|
||||
ManaCost:X U
|
||||
Types:Sorcery
|
||||
A:SP$ ChangeZone | Origin$ Library | Destination$ Battlefield | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | ChangeType$ Creature.cmcLEX+TargetedPlayerOwn | ChangeNum$ 1 | Hidden$ True | AtRandom$ True | NoShuffle$ True | Mandatory$ True | NoLooking$ True | GainControl$ True | RememberChanged$ True | SubAbility$ DBStore | StackDescription$ {p:You} puts a random creature card with mana value X or less from {p:Targeted}'s library onto the battlefield under their control. | SpellDescription$ Put a random creature card with mana value X or less from target opponent's library onto the battlefield under your control.
|
||||
SVar:DBStore:DB$ StoreSVar | SVar$ Num | Type$ CountSVar | Expression$ X | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ Perpetual | Name$ Better Offer's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup | SpellDescription$ It perpetually has base power and toughness X/X and perpetually gains ward {1}.
|
||||
SVar:Perpetual:Mode$ Continuous | Affected$ Card.IsRemembered | SetPower$ Num | SetToughness$ Num | AddKeyword$ Ward:1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The card perpetually has base power and toughness X/X and perpetually gains ward {1}.
|
||||
A:SP$ ChangeZone | Origin$ Library | Destination$ Battlefield | ValidTgts$ Opponent | ChangeType$ Creature.cmcLEX+TargetedPlayerOwn | ChangeNum$ 1 | Hidden$ True | AtRandom$ True | NoShuffle$ True | Mandatory$ True | NoLooking$ True | GainControl$ True | RememberChanged$ True | SubAbility$ DBAnimate | StackDescription$ {p:You} puts a random creature card with mana value X or less from {p:Targeted}'s library onto the battlefield under their control. | SpellDescription$ Put a random creature card with mana value X or less from target opponent's library onto the battlefield under your control.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Power$ X | Toughness$ X | Keywords$ Ward:1 | Duration$ Perpetual | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ It perpetually has base power and toughness X/X and gains ward {1}.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Count$xPaid
|
||||
SVar:Num:Number$0
|
||||
Oracle:Put a random creature card with mana value X or less from target opponent's library onto the battlefield under your control. It perpetually has base power and toughness X/X and perpetually gains ward {1}.
|
||||
Oracle:Put a random creature card with mana value X or less from target opponent's library onto the battlefield under your control. It perpetually has base power and toughness X/X and gains ward {1}.
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
Name:Bind to Secrecy
|
||||
ManaCost:U B
|
||||
Types:Instant
|
||||
A:SP$ Charm | Choices$ CounterNonCreature,DBConjure | CharmNum$ 1
|
||||
SVar:CounterNonCreature:DB$ Counter | TargetType$ Spell | TgtPrompt$ Select target noncreature spell | ValidTgts$ Card.nonCreature | SubAbility$ TrigDraft | SpellDescription$ Counter target noncreature spell.
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | TgtPrompt$ Select target creature card in an opponent's graveyard | ValidTgts$ Creature.OppOwn+inZoneGraveyard | TgtZone$ Graveyard | DefinedName$ Targeted | Zone$ Hand | RememberMade$ True | SubAbility$ DBEffect | SpellDescription$ Conjure a duplicate of target creature card in an opponent's graveyard into your hand. It perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Triggers$ Update | Name$ Bind to Secrecy's Perpetual Effect | SubAbility$ DBCleanup | SpellDescription$ It perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
SVar:PerpetualAbility:Mode$ Continuous | AddStaticAbility$ SpendAnyMana | Affected$ Card.IsRemembered | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The conjured card perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
A:SP$ Charm | Choices$ CounterNonCreature,DBConjure | CharmNum$ 1 | SubAbility$ DBDraft
|
||||
SVar:CounterNonCreature:DB$ Counter | TargetType$ Spell | TgtPrompt$ Select target noncreature spell | ValidTgts$ Card.nonCreature | SubAbility$ DBDraft | SpellDescription$ Counter target noncreature spell.
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | TgtPrompt$ Select target creature card in an opponent's graveyard | ValidTgts$ Creature.OppOwn+inZoneGraveyard | TgtZone$ Graveyard | DefinedName$ Targeted | Zone$ Hand | RememberMade$ True | SubAbility$ DBAnimate | SpellDescription$ Conjure a duplicate of target creature card in an opponent's graveyard into your hand.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | staticAbilities$ SpendAnyMana | Duration$ Perpetual | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ It perpetually gains "You may spend mana as though it were mana of any color to cast this spell."
|
||||
SVar:SpendAnyMana:Mode$ ManaConvert | EffectZone$ Stack | ValidPlayer$ You | ValidCard$ Card.Self | ValidSA$ Spell | ManaConversion$ AnyType->AnyColor | Description$ You may spend mana as though it were mana of any color to cast this spell.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ TrigDraft
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
SVar:TrigDraft:DB$ Draft | ConditionCheckSVar$ X | ConditionSVarCompare$ GE5 | Spellbook$ Corpse Churn,Corpse Hauler,Courier Bat,Durable Coilbug,Fear of Death,Gorging Vulture,Locked in the Cemetery,Naga Oracle,Necrotic Wound,Obsessive Stitcher,Reassembling Skeleton,Strategic Planning,Unmarked Grave,Wonder | SpellDescription$ If there are five or more mana values among cards in your graveyard, draft a card from CARDNAME's spellbook.
|
||||
SVar:X:Count$ValidGraveyard Card.YouOwn$DifferentCMC
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBDraft
|
||||
SVar:DBDraft:DB$ Draft | ConditionCheckSVar$ Count$ValidGraveyard Card.YouOwn$DifferentCMC | ConditionSVarCompare$ GE5 | Spellbook$ Corpse Churn,Corpse Hauler,Courier Bat,Durable Coilbug,Fear of Death,Gorging Vulture,Locked in the Cemetery,Naga Oracle,Necrotic Wound,Obsessive Stitcher,Reassembling Skeleton,Strategic Planning,Unmarked Grave,Wonder | StackDescription$ SpellDescription | SpellDescription$ If there are five or more mana values among cards in your graveyard, draft a card from CARDNAME's spellbook.
|
||||
DeckHints:Ability$Discard
|
||||
Oracle:Choose one —\n• Counter target noncreature spell.\n• Conjure a duplicate of target creature card in an opponent's graveyard into your hand. It perpetually gains "You may spend mana as though it were mana of any color to cast this spell."\nIf there are five or more mana values among cards in your graveyard, draft a card from Bind to Secrecy's spellbook.
|
||||
|
||||
@@ -2,9 +2,8 @@ Name:Bloodsprout Talisman
|
||||
ManaCost:B G
|
||||
Types:Artifact
|
||||
K:CARDNAME enters the battlefield tapped.
|
||||
A:AB$ ChooseCard | Cost$ T PayLife<1> | ChoiceZone$ Hand | Choices$ Card.nonLand+YouOwn | ChoiceTitle$ Choose a nonland card in your hand | Amount$ 1 | SubAbility$ DBEffect | SpellDescription$ Choose a nonland card in your hand. It perpetually gains "This spell costs {1} less to cast."
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualAbility | Name$ Bloodsprout Talisman's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.ChosenCard | AddStaticAbility$ PerpetualReduce | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen card perpetually gains "This spell costs {1} less to cast."
|
||||
SVar:PerpetualReduce:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast.
|
||||
A:AB$ ChooseCard | Cost$ T PayLife<1> | Mandatory$ True | ChoiceZone$ Hand | Choices$ Card.nonLand+YouOwn | ChoiceDesc$ nonland | ChoiceTitle$ Choose a nonland card in your hand | SubAbility$ DBAnimate | SpellDescription$ Choose a nonland card in your hand.
|
||||
SVar:DBAnimate:DB$ Animate | Duration$ Perpetual | Defined$ ChosenCard | staticAbilities$ ReduceCost | StackDescription$ SpellDescription | SpellDescription$ It perpetually gains "This spell costs {1} less to cast."
|
||||
SVar:ReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | SubAbility$ DBCleanup | Description$ This spell costs {1} less to cast.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
Oracle:Bloodsprout Talisman enters the battlefield tapped.\n{T), pay 1 life: Choose a nonland card in your hand. It perpetually gains "This spell costs {1} less to cast."
|
||||
Oracle:Bloodsprout Talisman enters the battlefield tapped.\n{T), pay 1 life: Choose a nonland card in your hand. It perpetually gains "This spell costs {1} less to cast."
|
||||
|
||||
@@ -4,8 +4,9 @@ Types:Creature Orc Knight
|
||||
PT:3/1
|
||||
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigReveal | TriggerDescription$ When CARDNAME enters the battlefield, target opponent reveals all creature and land cards in their hand. Choose one of them. That card perpetually gains "This permanent enters the battlefield tapped."
|
||||
SVar:TrigReveal:DB$ Reveal | ValidTgts$ Opponent | RevealAllValid$ Creature.TargetedPlayerOwn,Land.TargetedPlayerOwn | SubAbility$ DBChooseCard | RememberRevealed$ True
|
||||
SVar:DBChooseCard:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Card.IsRemembered | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualAbility | Name$ Boareskyr Tollkeeper's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.ChosenCard | EffectZone$ Command | AddKeyword$ CARDNAME enters the battlefield tapped. | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen card perpetually gains "This permanent enters the battlefield tapped."
|
||||
SVar:DBChooseCard:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Card.IsRemembered | SubAbility$ DBAnimate
|
||||
SVar:DBAnimate:DB$ Animate | Duration$ Perpetual | Defined$ ChosenCard | Replacements$ ReplaceETB | SubAbility$ DBCleanup
|
||||
SVar:ReplaceETB:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ ETBTapped | ReplacementResult$ Updated | Description$ This permanent enters the battlefield tapped.
|
||||
SVar:ETBTapped:DB$ Tap | ETB$ True | Defined$ ReplacedCard
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True
|
||||
Oracle:When Boareskyr Tollkeeper enters the battlefield, target opponent reveals all creature and land cards in their hand. Choose one of them. That card perpetually gains "This permanent enters the battlefield tapped."
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
Name:Brittle Blast
|
||||
ManaCost:2 R
|
||||
Types:Instant
|
||||
A:SP$ Effect | RememberObjects$ Valid Creature.OppCtrl,Valid Planeswalker.OppCtrl | StaticAbilities$ MakeBrittle | Duration$ Permanent | Name$ Brittle Blast's Perpetual Effect | SubAbility$ DBDamage | SpellDescription$ Creatures and planeswalkers your opponents control perpetually gain "If this permanent would die, exile it instead."
|
||||
SVar:MakeBrittle:Mode$ Continuous | Affected$ Card.IsRemembered | AddReplacementEffects$ BrittleExile | AddSVar$ BrittleRep | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Creatures and planeswalkers your opponents control perpetually gain "If this permanent would die, exile it instead."
|
||||
A:SP$ AnimateAll | ValidCards$ Creature.OppCtrl,Planeswalker.OppCtrl | Duration$ Perpetual | Replacements$ BrittleExile | SubAbility$ DBDamage | StackDescription$ REP your_{p:You}'s | SpellDescription$ Creatures and planeswalkers your opponents control perpetually gain "If this permanent would die, exile it instead."
|
||||
SVar:BrittleExile:Event$ Moved | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | ReplaceWith$ BrittleRep | Description$ If this permanent would die, exile it instead.
|
||||
SVar:BrittleRep:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard
|
||||
SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 5 | SpellDescription$ CARDNAME deals 5 damage to target creature or planeswalker.
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
Name:Brokers' Safeguard
|
||||
ManaCost:W U
|
||||
Types:Instant
|
||||
A:SP$ ChangeZone | ValidTgts$ Creature.nonArtifact+YouCtrl | TgtPrompt$ Select target nonartifact creature you control | Origin$ Battlefield | Destination$ Exile | RememberTargets$ True | SubAbility$ DBEffect | SpellDescription$ Exile target target nonartifact creature you control.
|
||||
SVar:DBEffect:DB$ Effect | Name$ Brokers' Safeguard's Perpetual Effect | RememberObjects$ RememberedLKI | StaticAbilities$ PerpetualStatic | Duration$ Permanent | SubAbility$ DBReturn | SpellDescription$ It perpetually gains "This creature enters the battlefield with an additional shield counter on it."
|
||||
SVar:PerpetualStatic:Mode$ Continuous | Affected$ Card.IsRemembered | AddReplacementEffects$ ETBAddCounter | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gains "This creature enters the battlefield with an additional shield counter on it."
|
||||
A:SP$ ChangeZone | ValidTgts$ Creature.nonArtifact+YouCtrl | TgtPrompt$ Select target nonartifact creature you control | Origin$ Battlefield | Destination$ Exile | RememberTargets$ True | SubAbility$ DBAnimate | SpellDescription$ Exile target target nonartifact creature you control.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Replacements$ ETBAddCounter | Duration$ Perpetual | SubAbility$ DBReturn | StackDescription$ SpellDescription | SpellDescription$ It perpetually gains "This creature enters the battlefield with an additional shield counter on it."
|
||||
SVar:ETBAddCounter:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ ETBAddExtraCounter | ReplacementResult$ Updated | Description$ This creature enters the battlefield with an additional shield counter on it.
|
||||
SVar:ETBAddExtraCounter:DB$ PutCounter | ETB$ True | Defined$ ReplacedCard | CounterType$ SHIELD
|
||||
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ All | Destination$ Battlefield | SubAbility$ DBCleanup | StackDescription$ Then return {c:Remembered} to the battlefield under its owner's control. | SpellDescription$ Then return that card to the battlefield under its owner's control.
|
||||
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ All | Destination$ Battlefield | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ Then return that card to the battlefield under its owner's control.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Exile target nonartifact creature you control. It perpetually gains "This creature enters the battlefield with an additional shield counter on it." Then return that card to the battlefield under its owner's control.
|
||||
|
||||
@@ -3,13 +3,11 @@ ManaCost:2 W
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigCharm | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, ABILITY
|
||||
SVar:TrigCharm:DB$ Charm | Choices$ PumpField,PumpHand,Token | ChoiceRestriction$ YourLastCombat
|
||||
SVar:PumpField:DB$ Pump | ValidTgts$ Soldier | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target Soldier | SubAbility$ DBEffect | SpellDescription$ Up to one target Soldier perpetually gets +1/+1 and gains flying.
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualPump | RememberObjects$ Targeted | Name$ By Elspeth's Command's First Mode's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualPump:Mode$ Continuous | Affected$ Card.IsRemembered | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Flying | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This Soldier perpetually gets +1/+1 and gains flying.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True
|
||||
SVar:PumpHand:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Soldier.YouOwn | ChoiceTitle$ Choose a Soldier card in your hand | Amount$ 1 | SubAbility$ DBEffect2 | SpellDescription$ Choose a Soldier card in your hand. It perpetually gets +1/+1 and gains vigilance.
|
||||
SVar:DBEffect2:DB$ Effect | StaticAbilities$ PerpetualPump2 | Name$ By Elspeth's Command's Second Mode's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualPump2:Mode$ Continuous | Affected$ Card.ChosenCard | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Vigilance | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen Soldier card perpetually gets +1/+1 and gains vigilance.
|
||||
SVar:PumpField:DB$ Pump | ValidTgts$ Soldier | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target Soldier | KW$ Flying | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual | SpellDescription$ Up to one target Soldier perpetually gets +1/+1 and gains flying.
|
||||
SVar:PumpHand:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Soldier.YouOwn | ChoiceTitle$ Choose a Soldier card in your hand | Mandatory$ True | SubAbility$ DBPump | SpellDescription$ Choose a Soldier card in your hand. It perpetually gets +1/+1 and gains vigilance.
|
||||
SVar:DBPump:DB$ Pump | Defined$ ChosenCard | PumpZone$ Hand | KW$ Vigilance | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
SVar:Token:DB$ Token | TokenScript$ c_1_1_a_soldier | SpellDescription$ Create a 1/1 colorless Soldier artifact creature token.
|
||||
DeckHas:Ability$Token & Type$Artifact|Soldier
|
||||
DeckHints:Type$Soldier
|
||||
Oracle:At the beginning of combat on your turn, choose one that wasn't chosen during your last combat —\n• Up to one target Soldier perpetually gets +1/+1 and gains flying.\n• Choose a Soldier card in your hand. It perpetually gets +1/+1 and gains vigilance.\n• Create a 1/1 colorless Soldier artifact creature token.
|
||||
|
||||
@@ -2,11 +2,8 @@ Name:Conductive Current
|
||||
ManaCost:R R R
|
||||
Types:Sorcery
|
||||
A:SP$ DamageAll | NumDmg$ 3 | ValidCards$ Creature | ValidDescription$ each creature. | SubAbility$ DBChoose | SpellDescription$ CARDNAME deals 3 damage to each creature.
|
||||
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Instant.YouOwn,Sorcery.YouOwn | ChoiceTitle$ Choose an instant or sorcery card in your hand | Amount$ 1 | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Name$ Conductive Current's Perpetual Effect | SubAbility$ DBCleanup
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddReplacementEffects$ PerpDamageRep | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen card perpetually gains "If this spell would deal noncombat damage to a permanent or player, it deals that much damage plus 2 instead."
|
||||
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Instant.YouOwn,Sorcery.YouOwn | ChoiceDesc$ instant or sorcery | ChoiceTitle$ Choose an instant or sorcery card in your hand | Mandatory$ True | SubAbility$ DBAnimate | SpellDescription$ Choose an instant or sorcery card in your hand.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ ChosenCard | Replacements$ PerpDamageRep | Duration$ Perpetual | StackDescription$ SpellDescription | SpellDescription$ It perpetually gains "If this spell would deal noncombat damage to a permanent or player, it deals that much damage plus 2 instead."
|
||||
SVar:PerpDamageRep:Event$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Permanent,Player | ReplaceWith$ DmgPlus2 | Description$ If this spell would deal noncombat damage to a permanent or player, it deals that much damage plus 2 instead.
|
||||
SVar:DmgPlus2:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ X
|
||||
SVar:X:ReplaceCount$DamageAmount/Plus.2
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
SVar:DmgPlus2:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ ReplaceCount$DamageAmount/Plus.2
|
||||
Oracle:Conductive Current deals 3 damage to each creature. Choose an instant or sorcery card in your hand. It perpetually gains "If this spell would deal noncombat damage to a permanent or player, it deals that much damage plus 2 instead."
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
Name:Divine Purge
|
||||
ManaCost:1 W W
|
||||
Types:Sorcery
|
||||
A:SP$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Artifact.cmcLE3,Creature.cmcLE3 | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile all artifacts and creatures with mana value 3 or less. They perpetually gain "This spell costs {2} more to cast" and "This permanent enters the battlefield tapped." For as long as each of them remain exiled, its owner may play it.
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Name$ Divine Purge's Perpetual Effect | SubAbility$ DBMayPlayEffect
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddStaticAbility$ RaiseCost & ETBTappedDesc | EffectZone$ Command | AddKeyword$ CARDNAME enters the battlefield tapped. | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | SubAbility$ DBMayPlayEffect | Description$ The exiled cards perpetually gain "This spell costs {2} more to cast" and "This permanent enters the battlefield tapped."
|
||||
A:SP$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Artifact.cmcLE3,Creature.cmcLE3 | RememberChanged$ True | SubAbility$ DBAnimate | SpellDescription$ Exile all artifacts and creatures with mana value 3 or less.
|
||||
SVar:DBAnimate:DB$ Animate | Duration$ Perpetual | Defined$ Remembered | staticAbilities$ RaiseCost | Replacements$ ReplaceETB | SubAbility$ DBMayPlayEffect | StackDescription$ SpellDescription | SpellDescription$ They perpetually gain "This spell costs {2} more to cast" and "This permanent enters the battlefield tapped."
|
||||
SVar:RaiseCost:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 2 | EffectZone$ All | Description$ This spell costs {2} more to cast.
|
||||
SVar:ReplaceETB:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ ETBTapped | ReplacementResult$ Updated | Description$ This permanent enters the battlefield tapped.
|
||||
SVar:ETBTapped:DB$ Tap | ETB$ True | Defined$ ReplacedCard
|
||||
SVar:ETBTappedDesc:Mode$ Continuous | Affected$ Card.Self | Description$ This permanent enters the battlefield tapped.
|
||||
SVar:DBMayPlayEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ OwnerMayPlay | Duration$ Permanent | SubAbility$ DBCleanup | ForgetOnMoved$ Exile | SpellDescription$ For as long as each of them remain exiled, its owner may play it.
|
||||
SVar:OwnerMayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Exile | MayPlay$ True | EffectZone$ Command | MayPlayPlayer$ CardOwner | Description$ For as long as each of these remain exiled, its owner may play it.
|
||||
|
||||
@@ -5,9 +5,8 @@ PT:3/3
|
||||
K:Lifelink
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, choose a card in your hand. It perpetually gains lifelink.
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChoose | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, choose a card in your hand. It perpetually gains lifelink.
|
||||
SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Card.YouOwn | ChoiceTitle$ Choose a card in your hand | Amount$ 1 | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualLifelink | Name$ Ethereal Escort's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualLifelink:Mode$ Continuous | Affected$ Card.ChosenCard | AddKeyword$ Lifelink | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The chosen card perpetually gains lifelink.
|
||||
SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Card.YouOwn | ChoiceTitle$ Choose a card in your hand | SubAbility$ DBPump
|
||||
SVar:DBPump:DB$ Pump | Defined$ ChosenCard | PumpZone$ Hand | KW$ Lifelink | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
SVar:HasAttackEffect:TRUE
|
||||
DeckHas:Ability$LifeGain
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Name:Ethereal Grasp
|
||||
ManaCost:2 U
|
||||
Types:Instant
|
||||
A:SP$ Tap | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | SubAbility$ DBEffect | SpellDescription$ Tap target creature. That creature perpetually gains "This creature doesn't untap during your untap step" and "{8}: Untap this creature."
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ EtherealGrasp | RememberObjects$ Targeted | Name$ Ethereal Grasp's Perpetual Effect | Duration$ Permanent | StackDescription$ That creature perpetually gains "This creature doesn't untap during your untap step" and "{8}: Untap this creature."
|
||||
SVar:EtherealGrasp:Mode$ Continuous | Affected$ Card.IsRemembered | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | AddAbility$ Untap | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gains "This creature doesn't untap during your untap step" and "{8}: Untap this creature."
|
||||
SVar:Untap:AB$ Untap | Cost$ 8 | Defined$ Self | SpellDescription$ Untap this creature.
|
||||
A:SP$ Tap | ValidTgts$ Creature | IsCurse$ True | SubAbility$ DBAnimate | SpellDescription$ Tap target creature.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Duration$ Perpetual | staticAbilities$ EtherealGrasp | Abilities$ Untap | StackDescription$ SpellDescription | SpellDescription$ That creature perpetually gains "This creature doesn't untap during your untap step" and "{8}: Untap this creature."
|
||||
SVar:EtherealGrasp:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature doesn't untap during your untap step.
|
||||
SVar:Untap:AB$ Untap | Cost$ 8 | SpellDescription$ Untap this creature.
|
||||
Oracle:Tap target creature. That creature perpetually gains "This creature doesn't untap during your untap step" and "{8}: Untap this creature."
|
||||
|
||||
@@ -4,9 +4,8 @@ Types:Creature Human Artificer
|
||||
PT:2/4
|
||||
K:Haste
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConjure | TriggerDescription$ When CARDNAME enters the battlefield, conjure a duplicate of another target nontoken creature or artifact you control into your graveyard. The duplicate perpetually gains unearth {1}{R}.
|
||||
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | TgtPrompt$ Select another target nontoken creature or artifact | DefinedName$ Targeted | ValidTgts$ Creature.YouCtrl+Other+nonToken,Artifact.YouCtrl+Other+nonToken | Zone$ Graveyard | RememberMade$ True | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualUnearth | RememberObjects$ Remembered | Name$ Fallaji Antiquarian's perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualUnearth:Mode$ Continuous | Affected$ Card.IsRemembered | AddKeyword$ Unearth:2 R | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gains unearth {1}{R}.
|
||||
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | TgtPrompt$ Select another target nontoken creature or artifact you control | DefinedName$ Targeted | ValidTgts$ Creature.YouCtrl+Other+nonToken,Artifact.YouCtrl+Other+nonToken | Zone$ Graveyard | RememberMade$ True | SubAbility$ DBPump
|
||||
SVar:DBPump:DB$ Pump | Defined$ Remembered | PumpZone$ Graveyard | KW$ Unearth:2 R | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
DeckHas:Ability$Graveyard
|
||||
DeckHints:Type$Artifact
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
Name:Flames of Moradin
|
||||
ManaCost:2 R R
|
||||
Types:Sorcery
|
||||
A:SP$ Destroy | ValidTgts$ Artifact | TargetMin$ 0 | TargetMax$ 3 | TgtPrompt$ Select up to three target artifacts | SubAbility$ DBConjure
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ Targeted.nonToken | Zone$ Hand | RememberMade$ True | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualAbility | RememberObjects$ Remembered | Name$ Flames of Moradin's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualAbility:Mode$ Continuous | RememberObjects$ Targeted | AddKeyword$ Alternative Cost: R | Affected$ Card.IsRemembered | AddTrigger$ TrigSac | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gains "You may pay {R} rather than pay this spell's mana cost" and "at the beginning of your end step, sacrifice this artifact."
|
||||
SVar:TrigSac:Mode$ Phase | ValidPlayer$ You | Phase$ End of Turn | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Sacrifice CARDNAME at you end step.
|
||||
A:SP$ Destroy | ValidTgts$ Artifact | TargetMin$ 0 | TargetMax$ 3 | TgtPrompt$ Select up to three target artifacts | SubAbility$ DBConjure | SpellDescription$ Destroy up to three target artifacts.
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ Targeted.nonToken | Zone$ Hand | RememberMade$ True | SubAbility$ DBAnimate | SpellDescription$ Conjure a duplicate of each nontoken artifact destroyed this way into your hand.
|
||||
SVar:DBAnimate:DB$ Animate | Duration$ Perpetual | Defined$ Remembered | staticAbilities$ PerpAltCost | Triggers$ PhaseTrig | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ The duplicates perpetually gain "You may pay {R} rather than pay this spell's mana cost" and "at the beginning of your end step, sacrifice this artifact."
|
||||
SVar:PerpAltCost:Mode$ Continuous | EffectZone$ All | MayPlay$ True | MayPlayAltManaCost$ R | MayPlayDontGrantZonePermissions$ True | Affected$ Card.Self | AffectedZone$ Hand,Graveyard,Library,Exile,Command | Description$ You may pay {R} rather than pay this spell's mana cost.
|
||||
SVar:PhaseTrig:Mode$ Phase | ValidPlayer$ You | Phase$ End of Turn | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, sacrifice this artifact.
|
||||
SVar:TrigSacrifice:DB$ Sacrifice
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
DeckHas:Type$Artifact & Ability$Sacrifice
|
||||
Oracle:Destroy up to three target artifacts. Conjure a duplicate of each nontoken artifact destroyed this way into your hand. The duplicates perpetually gain "You may pay {R} rather than pay this spell's mana cost" and "at the beginning of your end step, sacrifice this artifact.".
|
||||
Oracle:Destroy up to three target artifacts. Conjure a duplicate of each nontoken artifact destroyed this way into your hand. The duplicates perpetually gain "You may pay {R} rather than pay this spell's mana cost" and "at the beginning of your end step, sacrifice this artifact."
|
||||
|
||||
@@ -4,10 +4,8 @@ Types:Creature Goblin Soldier
|
||||
PT:2/1
|
||||
K:Haste
|
||||
K:Enlist
|
||||
T:Mode$ Enlisted | ValidCard$ Card.Self | ValidEnlisted$ Card.nonToken | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigConjure | TriggerDescription$ Whenever CARDNAME enlists a nontoken creature, you may conjure a duplicate of that creature into the top five cards of your library at random. The duplicate perpetually gets +1/+0 and gains haste.
|
||||
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | DefinedName$ TriggeredEnlisted | Zone$ Library | LibraryPosition$ Z | RememberMade$ True | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | Name$ Goblin Morale Sergeant's Perpetual Effect | RememberObjects$ Remembered | StaticAbilities$ PerpetualAbility | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualAbility:Mode$ Continuous | AddPower$ 1 | AddKeyword$ Haste | Affected$ Card.IsRemembered | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ The duplicate perpetually gets +1/+0 and gains haste.
|
||||
T:Mode$ Enlisted | ValidCard$ Card.Self | ValidEnlisted$ Creature.nonToken | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigConjure | TriggerDescription$ Whenever CARDNAME enlists a nontoken creature, you may conjure a duplicate of that creature into the top five cards of your library at random. The duplicate perpetually gets +1/+0 and gains haste.
|
||||
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | DefinedName$ TriggeredEnlisted | Zone$ Library | LibraryPosition$ Count$Random.0.4 | RememberMade$ True | SubAbility$ DBPump
|
||||
SVar:DBPump:DB$ Pump | Defined$ Remembered | PumpZone$ Library | KW$ Haste | NumAtt$ 1 | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:Z:Count$Random.0.4
|
||||
Oracle:Haste\nEnlist\nWhenever Goblin Morale Sergeant enlists a nontoken creature, you may conjure a duplicate of that creature into the top five cards of your library at random. The duplicate perpetually gets +1/+0 and gains haste.
|
||||
|
||||
@@ -3,13 +3,11 @@ ManaCost:R
|
||||
Types:Creature Goblin
|
||||
PT:1/1
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ DBSeek | TriggerDescription$ When CARDNAME dies, seek a creature card with mana value 3 or less. That card perpetually gains haste, "This spell costs {1} less to cast," and "At the beginning of your end step, sacrifice this creature."
|
||||
SVar:DBSeek:DB$ Seek | Type$ Creature.cmcLE3+YouOwn | RememberFound$ True | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualAbility | RememberObjects$ Remembered | Triggers$ Update | Name$ Goblin Trapfinder's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddTrigger$ TrigSac | AddStaticAbility$ PerpetualReduceCost | AddKeyword$ Haste | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This card perpetually gains haste, "This spell costs {1} less to cast," and "At the beginning of your end step, sacrifice this creature."
|
||||
SVar:PerpetualReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast.
|
||||
SVar:TrigSac:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, sacrifice this creature.
|
||||
SVar:DBSeek:DB$ Seek | Type$ Creature.cmcLE3+YouOwn | RememberFound$ True | SubAbility$ DBAnimate
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | staticAbilities$ ReduceCost | Triggers$ SacTrig | Keywords$ Haste | Duration$ Perpetual
|
||||
SVar:ReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast.
|
||||
SVar:SacTrig:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, sacrifice this creature.
|
||||
SVar:TrigSacrifice:DB$ Sacrifice
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
DeckHas:Ability$Sacrifice
|
||||
DeckHints:Ability$Sacrifice
|
||||
Oracle:When Goblin Trapfinder dies, seek a creature card with mana value 3 or less. That card perpetually gains haste, "This spell costs {1} less to cast," and "At the beginning of your end step, sacrifice this creature."
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:1 R
|
||||
Types:Creature Human Warlock
|
||||
PT:2/2
|
||||
A:AB$ Pump | Cost$ R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn.
|
||||
A:AB$ Effect | Cost$ 2 Reveal<1/CARDNAME> | StaticAbilities$ PerpetualPump | RememberObjects$ Self | Name$ Heir to Dragonfire's Perpetual Effect | Duration$ Permanent | ActivationZone$ Hand | SpellDescription$ CARDNAME perpetually becomes a Dragon, gets +3/+3, and gains flying.
|
||||
SVar:PerpetualPump:Mode$ Continuous | Affected$ Card.IsRemembered | AddType$ Dragon | AddPower$ 3 | AddToughness$ 3 | EffectZone$ Command | AddKeyword$ Flying | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ EFFECTSOURCE perpetually becomes a Dragon, gets +3/+3, and gains flying.
|
||||
A:AB$ Animate | Cost$ 2 R Reveal<1/CARDNAME> | Duration$ Perpetual | Types$ Dragon | RemoveCreatureTypes$ True | ActivationZone$ Hand | SubAbility$ DBPump | StackDescription$ SpellDescription | SpellDescription$ CARDNAME perpetually becomes a Dragon,
|
||||
SVar:DBPump:DB$ Pump | Defined$ Self | PumpZone$ Hand | NumAtt$ 3 | NumDef$ 3 | KW$ Flying | Duration$ Perpetual | StackDescription$ SpellDescription | SpellDescription$ gets +3/+3, and gains flying.
|
||||
DeckHas:Type$Dragon
|
||||
Oracle:{R}: Heir to Dragonfire gets +1/+0 until end of turn.\n{2}{R}, Reveal Heir to Dragonfire from your hand: Heir to Dragonfire perpetually becomes a Dragon, gets +3/+3, and gains flying.
|
||||
Oracle:{R}: Heir to Dragonfire gets +1/+0 until end of turn.\n{2}{R}, Reveal Heir to Dragonfire from your hand: Heir to Dragonfire perpetually becomes a Dragon, gets +3/+3, and gains flying.
|
||||
|
||||
12
forge-gui/res/cardsfolder/h/high_fae_prankster.txt
Normal file
12
forge-gui/res/cardsfolder/h/high_fae_prankster.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
Name:High Fae Prankster
|
||||
ManaCost:2 U B
|
||||
Types:Creature Faerie Rogue
|
||||
PT:1/4
|
||||
K:Flying
|
||||
K:Deathtouch
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ When CARDNAME enters the battlefield, ABILITY
|
||||
SVar:TrigCharm:DB$ Charm | MinCharmNum$ 0 | CharmNum$ 1 | Choices$ Exchange,Switch
|
||||
SVar:Exchange:DB$ ExchangePower | ValidTgts$ Creature | TargetMin$ 2 | TargetMax$ 2 | TargetUnique$ True | BasePower$ True | Duration$ Perpetual | SpellDescription$ Perpetually exchange target creature's base power with another target creature's base power.
|
||||
SVar:Switch:DB$ Animate | Duration$ Perpetual | Power$ 4 | Toughness$ 1 | SpellDescription$ CARDNAME perpetually has base power and toughness 4/1.
|
||||
SVar:NeedsToPlay:Creature.OppCtrl+powerGE4
|
||||
Oracle:Flying, deathtouch\nWhen High Fae Prankster enters the battlefield, choose up to one —\n• Perpetually exchange target creature's base power with another target creature's base power.\n• High Fae Prankster perpetually has base power and toughness 4/1.
|
||||
@@ -2,7 +2,7 @@ Name:Holographic Double
|
||||
ManaCost:U
|
||||
Types:Creature Illusion
|
||||
PT:1/1
|
||||
A:AB$ ChooseCard | Cost$ U ExileFromHand<1/CARDNAME> | ActivationZone$ Hand | Mandatory$ True | ChoiceZone$ Hand | Choices$ Creature.YouOwn | ChoiceDesc$ creature | FromDesc$ from their hand | ChoiceTitle$ Choose a creature card in your hand | Amount$ 1 | SubAbility$ DBConjure | SpellDescription$ Choose a creature card in your hand.
|
||||
A:AB$ ChooseCard | Cost$ U ExileFromHand<1/CARDNAME> | ActivationZone$ Hand | Mandatory$ True | ChoiceZone$ Hand | Choices$ Creature.YouOwn | ChoiceDesc$ creature | ChoiceTitle$ Choose a creature card in your hand | Amount$ 1 | SubAbility$ DBConjure | SpellDescription$ Choose a creature card in your hand.
|
||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ ChosenCard | Zone$ Hand | SubAbility$ DBCleanup | StackDescription$ {p:You} conjures a duplicate of it into their hand. | SpellDescription$ Conjure a duplicate of it into your hand.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
Oracle:{U}, Exile Holographic Double from your hand: Choose a creature card in your hand. Conjure a duplicate of it into your hand.
|
||||
|
||||
@@ -2,7 +2,7 @@ Name:Nightsnare
|
||||
ManaCost:3 B
|
||||
Types:Sorcery
|
||||
A:SP$ RevealHand | ValidTgts$ Opponent | RememberRevealed$ True | SubAbility$ DBChoose | SpellDescription$ Target opponent reveals their hand.
|
||||
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Amount$ 1 | Choices$ Card.nonLand+IsRemembered | ChoiceDesc$ nonland | FromDesc$ from it | SubAbility$ DBBranch | ChoiceTitle$ You may choose a nonland card | SpellDescription$ You may choose a nonland card from it.
|
||||
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Amount$ 1 | Choices$ Card.nonLand+IsRemembered | ChoiceDesc$ nonland | FromDesc$ it | SubAbility$ DBBranch | ChoiceTitle$ You may choose a nonland card | SpellDescription$ You may choose a nonland card from it.
|
||||
SVar:DBBranch:DB$ Branch | BranchCondition$ ChosenCard | TrueSubAbility$ DBDiscard | FalseSubAbility$ DBDiscard2 | StackDescription$ If they do, {p:Targeted} discards that card. If they don't, {p:Targeted} discards two cards. | SpellDescription$ If you do, that player discards that card. If you don't, that player discards two cards.
|
||||
SVar:DBDiscard:DB$ Discard | DefinedCards$ ChosenCard | Defined$ Targeted | Mode$ Defined | SubAbility$ DBCleanup
|
||||
SVar:DBDiscard2:DB$ Discard | Defined$ Targeted | NumCards$ 2 | Mode$ TgtChoose | SubAbility$ DBCleanup
|
||||
|
||||
@@ -3,11 +3,11 @@ ManaCost:R G
|
||||
Types:Creature Cat Warrior
|
||||
PT:3/2
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When CARDNAME enters the battlefield, you may choose 2 creature and/or planeswalker cards in your hand. They perpetually gain "When you cast this spell, create a Treasure token and this spell perpetually loses this ability."
|
||||
SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Creature.YouOwn,Planeswalker.YouOwn | ChoiceTitle$ Choose up to two creature and/or planeswalker cards in your hand. | MinAmount$ 0 | Amount$ 2 | SubAbility$ DBEffect
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ ChosenCard | ForgetOnCast$ True | ConditionDefined$ ChosenCard | ConditionPresent$ Card | ConditionCompare$ GE1 | StaticAbilities$ PerpetualEffect | Name$ Racketeer Boss's Perpetual Effect | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:PerpetualEffect:Mode$ Continuous | Affected$ Card.IsRemembered | AddTrigger$ SpellCastTrig | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ When you cast this spell, create a Treasure token and this spell perpetually loses this ability.
|
||||
SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Creature.YouOwn,Planeswalker.YouOwn | ChoiceTitle$ Choose up to two creature and/or planeswalker cards in your hand | MinAmount$ 0 | Amount$ 2 | SubAbility$ DBAnimate
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ ChosenCard | Triggers$ SpellCastTrig | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:SpellCastTrig:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigTreasure | TriggerDescription$ When you cast this spell, create a Treasure token and this spell perpetually loses this ability.
|
||||
SVar:TrigTreasure:DB$ Token | TokenScript$ c_a_treasure_sac
|
||||
SVar:TrigTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | SubAbility$ DBLosePerpAbility
|
||||
SVar:DBLosePerpAbility:DB$ LosePerpetual
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
DeckHints:Type$Planeswalker
|
||||
DeckHas:Ability$Token|Sacrifice & Type$Treasure|Artifact
|
||||
|
||||
@@ -6,4 +6,4 @@ A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump
|
||||
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Enchanted creature gets +1/+1.
|
||||
SVar:AltCost:Cost$ 2 W | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by paying {2}{W} rather than paying its mana cost.
|
||||
DeckHas:Ability$Graveyard
|
||||
Oracle:Enchant creature\nEnchanted creature gets +1/+1.\nYou may cast Raffine's Guidance from your graveyard by paying {2}{W} instead of its mana cost.
|
||||
Oracle:Enchant creature\nEnchanted creature gets +1/+1.\nYou may cast Raffine's Guidance from your graveyard by paying {2}{W} rather than paying its mana cost.
|
||||
|
||||
@@ -2,7 +2,7 @@ Name:Reckoner Shakedown
|
||||
ManaCost:2 B
|
||||
Types:Sorcery
|
||||
A:SP$ RevealHand | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RememberRevealed$ True | SubAbility$ DBChoose | SpellDescription$ Target opponent reveals their hand.
|
||||
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Amount$ 1 | Choices$ Card.nonLand+IsRemembered | ChoiceDesc$ nonland | FromDesc$ from it | SubAbility$ DBBranch | ChoiceTitle$ You may choose a nonland card | SpellDescription$ You may choose a nonland card from it.
|
||||
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Amount$ 1 | Choices$ Card.nonLand+IsRemembered | ChoiceDesc$ nonland | FromDesc$ it | SubAbility$ DBBranch | ChoiceTitle$ You may choose a nonland card | SpellDescription$ You may choose a nonland card from it.
|
||||
SVar:DBBranch:DB$ Branch | BranchCondition$ ChosenCard | TrueSubAbility$ DBDiscard | FalseSubAbility$ DBPutCounter | StackDescription$ If they do, {p:Targeted} discards that card. If they don't, they put two +1/+1 counters on a creature or Vehicle they control. | SpellDescription$ If you do, that player discards that card. If you don't, put two +1/+1 counters on a creature or Vehicle you control.
|
||||
SVar:DBDiscard:DB$ Discard | DefinedCards$ ChosenCard | Defined$ Targeted | Mode$ Defined | SubAbility$ DBCleanup
|
||||
SVar:DBPutCounter:DB$ PutCounter | Choices$ Creature.YouCtrl,Vehicle.YouCtrl | ChoiceTitle$ Choose a creature or Vehicle you control | CounterType$ P1P1 | CounterNum$ 2 | SubAbility$ DBCleanup
|
||||
|
||||
@@ -2,12 +2,9 @@ Name:Sarkhan, Wanderer to Shiv
|
||||
ManaCost:3 R
|
||||
Types:Legendary Planeswalker Sarkhan
|
||||
Loyalty:4
|
||||
A:AB$ Effect | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | RememberObjects$ ValidHand Dragon.YouOwn | StaticAbilities$ PerpetualAbility | Duration$ Permanent | Triggers$ Update | Name$ Sarkhan, Wanderer to Shiv's Perpetual Effect | SpellDescription$ Dragon cards in your hand perpetually gain "This spell costs {1} less to cast," and "You may pay {X} rather than pay this spell's mana cost, where X is its mana value."
|
||||
SVar:PerpetualAbility:Mode$ Continuous | Affected$ Card.IsRemembered | AddStaticAbility$ DragonReduceCost & DragonAltCost | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ Dragon cards in your hand perpetually gain "This spell costs {1} less to cast," and "You may pay {X} rather than pay this spell's mana cost, where X is its mana value."
|
||||
A:AB$ AnimateAll | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidCards$ Dragon.YouOwn | Zone$ Hand | staticAbilities$ DragonReduceCost,DragonAltCost | Duration$ Perpetual | SpellDescription$ Dragon cards in your hand perpetually gain "This spell costs {1} less to cast," and "You may pay {X} rather than pay this spell's mana cost, where X is its mana value."
|
||||
SVar:DragonReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast.
|
||||
SVar:DragonAltCost:Mode$ Continuous | CharacteristicDefining$ True | AddKeyword$ Alternative Cost:ConvertedManaCost | Description$ You may pay {X} rather than pay this spell's mana cost, where X is its mana value.
|
||||
SVar:Update:Mode$ ChangesZone | Origin$ Any | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBUpdate
|
||||
SVar:DBUpdate:DB$ UpdateRemember
|
||||
SVar:DragonAltCost:Mode$ Continuous | EffectZone$ All | MayPlay$ True | MayPlayAltManaCost$ ConvertedManaCost | MayPlayDontGrantZonePermissions$ True | Affected$ Card.Self | AffectedZone$ Hand,Graveyard,Library,Exile,Command | Description$ You may pay {X} rather than pay this spell's mana cost, where X is its mana value.
|
||||
A:AB$ MakeCard | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Conjure$ True | Name$ Shivan Dragon | Zone$ Hand | SpellDescription$ Conjure a Shivan Dragon card into your hand.
|
||||
A:AB$ DealDamage | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SpellDescription$ CARDNAME deals 3 damage to target creature.
|
||||
DeckHints:Type$Dragon
|
||||
|
||||
@@ -2,7 +2,6 @@ Name:Second Little Pig
|
||||
ManaCost:1 WB
|
||||
Types:Creature Boar
|
||||
PT:2/3
|
||||
A:AB$ Effect | Cost$ 2 WB WB | StaticAbilities$ PerpetualSpirit | IsPresent$ Card.Self+!Spirit | RememberObjects$ Self | Name$ Second Little Pig's Perpetual Effect | Duration$ Permanent | SpellDescription$ CARDNAME perpetually becomes a Boar Spirit with base power and toughness 4/4 and gains flying. Activate only if CARDNAME isn't a Spirit.
|
||||
SVar:PerpetualSpirit:Mode$ Continuous | AddKeyword$ Flying | Affected$ Card.IsRemembered | SetPower$ 4 | SetToughness$ 4 | AddType$ Spirit | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually becomes a Boar Spirit with base power and toughness 4/4 and gains flying.
|
||||
A:AB$ Animate | Cost$ 2 WB WB | Duration$ Perpetual | Types$ Boar,Spirit | RemoveCreatureTypes$ True | Power$ 4 | Toughness$ 4 | Keywords$ Flying | IsPresent$ Card.Self+!Spirit | StackDescription$ CARDNAME perpetually becomes a Boar Spirit with base power and toughness 4/4 and gains flying. | SpellDescription$ CARDNAME perpetually becomes a Boar Spirit with base power and toughness 4/4 and gains flying. Activate only if CARDNAME isn't a Spirit.
|
||||
DeckHas:Type$Spirit
|
||||
Oracle:{2}{W/B}{W/B}: Second Little Pig perpetually becomes a Boar Spirit with base power and toughness 4/4 and gains flying. Activate only if Second Little Pig isn't a Spirit.
|
||||
|
||||
@@ -2,7 +2,6 @@ Name:Third Little Pig
|
||||
ManaCost:1 BG
|
||||
Types:Creature Boar
|
||||
PT:2/2
|
||||
T:Mode$ ConjureAll | ValidPlayer$ You | ValidCard$ Card | TriggerZones$ Battlefield,Graveyard | Execute$ TrigEffect | TriggerDescription$ Whenever you conjure one or more other cards, CARDNAME perpetually gets +1/+1. This ability also triggers if CARDNAME is in your graveyard.
|
||||
SVar:TrigEffect:DB$ Effect | StaticAbilities$ PerpetualBuff | RememberObjects$ Self | Name$ Third Little Pig's Perpetual Effect | Duration$ Permanent
|
||||
SVar:PerpetualBuff:Mode$ Continuous | Affected$ Card.IsRemembered | AddPower$ 1 | AddToughness$ 1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gets +1/+1.
|
||||
Oracle:Whenever you conjure one or more other cards, Third Little Pig perpetually gets +1/+1. This ability also triggers if Third Little Pig is in your graveyard.
|
||||
T:Mode$ ConjureAll | ValidPlayer$ You | ValidCard$ Card | TriggerZones$ Battlefield,Graveyard | Execute$ TrigPump | TriggerDescription$ Whenever you conjure one or more other cards, CARDNAME perpetually gets +1/+1. This ability also triggers if CARDNAME is in your graveyard.
|
||||
SVar:TrigPump:DB$ Pump | Defined$ Self | PumpZone$ Battlefield,Graveyard | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual
|
||||
Oracle:Whenever you conjure one or more other cards, Third Little Pig perpetually gets +1/+1. This ability also triggers if Third Little Pig is in your graveyard.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Name:Toils of Night and Day
|
||||
ManaCost:2 U
|
||||
Types:Instant Arcane
|
||||
A:SP$ TapOrUntap | Cost$ 2 U | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | SubAbility$ DBTapOrUntap | SpellDescription$ You may tap or untap target permanent, then you may tap or untap another target permanent.
|
||||
SVar:DBTapOrUntap:DB$ TapOrUntap | ValidTgts$ Permanent | TgtPrompt$ Select target permanent (2) | TargetUnique$ True
|
||||
A:SP$ TapOrUntap | Cost$ 2 U | ValidTgts$ Permanent | SubAbility$ DBTapOrUntap | SpellDescription$ You may tap or untap target permanent, then you may tap or untap another target permanent.
|
||||
SVar:DBTapOrUntap:DB$ TapOrUntap | ValidTgts$ Permanent | TgtPrompt$ Select another target permanent | TargetUnique$ True
|
||||
AI:RemoveDeck:All
|
||||
Oracle:You may tap or untap target permanent, then you may tap or untap another target permanent.
|
||||
|
||||
10
forge-gui/res/cardsfolder/upcoming/cogwork_progenitor.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/cogwork_progenitor.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Cogwork Progenitor
|
||||
ManaCost:1 W
|
||||
Types:Artifact Creature Gnome
|
||||
PT:2/2
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSeek | TriggerDescription$ At the beginning of your end step, you may exile another artifact you control or an artifact card in your graveyard. If you do, seek an artifact card. That card perpetually has base power and toughness 1/1 and becomes a Gnome creature in addition to its other types.
|
||||
SVar:TrigSeek:AB$ Seek | Cost$ ExileCtrlOrGrave<1/Artifact.Other> | Type$ Artifact | RememberFound$ True | SubAbility$ DBAnimate
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Power$ 1 | Toughness$ 1 | Types$ Creature,Gnome | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
DeckNeeds:Type$Artifact
|
||||
Oracle:At the beginning of your end step, you may exile another artifact you control or an artifact card in your graveyard. If you do, seek an artifact card. That card perpetually has base power and toughness 1/1 and becomes a Gnome creature in addition to its other types.
|
||||
Reference in New Issue
Block a user