Compare commits

...

7 Commits

Author SHA1 Message Date
Hanmac
da886202c0 SacrificeEffect now use Remember on SpellAbility 2018-12-26 10:30:56 +01:00
Hanmac
4ab45ae42b AbilityUtils: calcAmount use new getRemembered 2018-12-25 21:37:43 +01:00
Hanmac
bae8819630 Manifest: RememberManifested to SpellAbility 2018-12-25 21:37:43 +01:00
Hanmac
19fbe18235 CountersRemoveAllEffect: use SpellAbility Remember 2018-12-25 21:37:43 +01:00
Hanmac
5e7d542d36 CounterRemove: move remember to SA 2018-12-25 21:37:43 +01:00
Hanmac
5e32834fb8 WrappedAbility: fix SpellAbility remember for trigger 2018-12-25 21:36:54 +01:00
Hanmac
738e68f468 SpellAbility: add Remember to SpellAbility 2018-12-25 21:36:54 +01:00
100 changed files with 465 additions and 347 deletions

View File

@@ -169,37 +169,19 @@ public class AbilityUtils {
}
}
else if (defined.equals("Remembered") || defined.equals("RememberedCard")) {
if (!hostCard.hasRemembered()) {
final Card newCard = game.getCardState(hostCard);
for (final Object o : newCard.getRemembered()) {
if (o instanceof Card) {
cards.add(game.getCardState((Card) o));
}
}
}
// game.getCardState(Card c) is not working for LKI
for (final Object o : hostCard.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(sa, hostCard)) {
if (o instanceof Card) {
cards.addAll(addRememberedFromCardState(game, (Card)o));
}
}
} else if (defined.equals("RememberedLKI")) {
for (final Object o : hostCard.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(sa, hostCard)) {
if (o instanceof Card) {
cards.add((Card) o);
}
}
} else if (defined.equals("DirectRemembered")) {
if (!hostCard.hasRemembered()) {
final Card newCard = game.getCardState(hostCard);
for (final Object o : newCard.getRemembered()) {
if (o instanceof Card) {
cards.add((Card) o);
}
}
}
for (final Object o : hostCard.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(sa, hostCard)) {
if (o instanceof Card) {
cards.add((Card) o);
}
@@ -216,12 +198,12 @@ public class AbilityUtils {
System.err.println("Warning: couldn't find trigger SA in the chain of SpellAbility " + sa);
}
} else if (defined.equals("FirstRemembered")) {
Object o = Iterables.getFirst(hostCard.getRemembered(), null);
Object o = Iterables.getFirst(AbilityUtils.getRemembered(sa, hostCard), null);
if (o != null && o instanceof Card) {
cards.add(game.getCardState((Card) o));
}
} else if (defined.equals("LastRemembered")) {
Object o = Iterables.getLast(hostCard.getRemembered(), null);
Object o = Iterables.getLast(AbilityUtils.getRemembered(sa, hostCard), null);
if (o != null && o instanceof Card) {
cards.add(game.getCardState((Card) o));
}
@@ -460,7 +442,7 @@ public class AbilityUtils {
val = CardFactoryUtil.playerXCount(players, calcX[1], card);
}
else if (hType.equals("Remembered")) {
for (final Object o : card.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(ability, card)) {
if (o instanceof Player) {
players.add((Player) o);
}
@@ -504,20 +486,16 @@ public class AbilityUtils {
if (calcX[0].startsWith("Remembered")) {
// Add whole Remembered list to handlePaid
final CardCollection list = new CardCollection();
Card newCard = card;
if (!card.hasRemembered()) {
newCard = game.getCardState(card);
}
if (calcX[0].endsWith("LKI")) { // last known information
for (final Object o : newCard.getRemembered()) {
for (final Object o : getRemembered(ability, card)) {
if (o instanceof Card) {
list.add((Card) o);
}
}
}
else {
for (final Object o : newCard.getRemembered()) {
for (final Object o : getRemembered(ability, card)) {
if (o instanceof Card) {
list.add(game.getCardState((Card) o));
}
@@ -980,7 +958,7 @@ public class AbilityUtils {
}
}
else if (defined.startsWith("Remembered")) {
addPlayer(card.getRemembered(), defined, players);
addPlayer(AbilityUtils.getRemembered(sa, card), defined, players);
}
else if (defined.startsWith("DelayTriggerRemembered")) {
SpellAbility trigSa = sa.getTriggeringAbility();
@@ -1280,7 +1258,7 @@ public class AbilityUtils {
}
}
else if (defined.equals("Remembered")) {
for (final Object o : card.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(sa, card)) {
if (o instanceof Card) {
final Card rem = (Card) o;
sas.addAll(game.getCardState(rem).getSpellAbilities());
@@ -1562,6 +1540,22 @@ public class AbilityUtils {
return CardFactoryUtil.doXMath(calculateAmount(c, sq[2], ctb), expr, c);
}
}
// Count Remember in case it is Remembered in the Card
if (l[0].startsWith("RememberedSize")) {
return CardFactoryUtil.doXMath(AbilityUtils.getRememberedCount(ctb, c), expr, c);
}
if (l[0].startsWith("RememberedNumber")) {
int num = 0;
for (final Object o : AbilityUtils.getRemembered(ctb, c)) {
if (o instanceof Integer) {
num += (Integer) o;
}
}
return CardFactoryUtil.doXMath(num, expr, c);
}
if (ctb instanceof SpellAbility) {
final SpellAbility sa = (SpellAbility) ctb;
@@ -1836,11 +1830,12 @@ public class AbilityUtils {
}
}
}
public static SpellAbility addSpliceEffects(final SpellAbility sa) {
final Card source = sa.getHostCard();
final Player player = sa.getActivatingPlayer();
final CardCollection splices = CardLists.filter(player.getCardsIn(ZoneType.Hand), new Predicate<Card>() {
@Override
public boolean apply(Card input) {
@@ -1879,7 +1874,7 @@ public class AbilityUtils {
if (spliceCost == null)
return;
SpellAbility firstSpell = c.getFirstSpellAbility();
Map<String, String> params = Maps.newHashMap(firstSpell.getMapParams());
AbilityRecordType rc = AbilityRecordType.getRecordType(params);
@@ -1899,4 +1894,72 @@ public class AbilityUtils {
sa.setDescription(sa.getDescription() + " (Splicing " + c + " onto it)");
sa.addSplicedCards(c);
}
public static final <T> boolean isRemembered(final CardTraitBase sa, final Card host, T o) {
// prefer sa if able
if (sa instanceof SpellAbility) {
return ((SpellAbility)sa).isRemembered(o);
}
// in rare case of host being null
if (host == null) {
return false;
}
// if host doesn't remember, check the game state
if (!host.hasRemembered()) {
final Card newCard = host.getGame().getCardState(host);
return newCard.isRemembered(o);
}
return host.isRemembered(o);
}
public static final boolean hasRemembered(final CardTraitBase sa, final Card host) {
if (sa instanceof SpellAbility) {
return ((SpellAbility)sa).hasRemembered();
}
if (host == null) {
return false;
}
if (!host.hasRemembered()) {
final Card newCard = host.getGame().getCardState(host);
return newCard.hasRemembered();
}
return host.hasRemembered();
}
public static final Iterable<Object> getRemembered(final CardTraitBase sa, final Card host) {
if (sa instanceof SpellAbility) {
return ((SpellAbility)sa).getRemembered();
}
// return empty list if no host exist
if (host == null) {
return List.<Object>of();
}
if (!host.hasRemembered()) {
final Card newCard = host.getGame().getCardState(host);
return newCard.getRemembered();
}
return host.getRemembered();
}
public static final int getRememberedCount(final CardTraitBase sa, final Card host) {
if (sa instanceof SpellAbility) {
return ((SpellAbility)sa).getRememberedCount();
}
if (host == null) {
return 0;
}
if (!host.hasRemembered()) {
final Card newCard = host.getGame().getCardState(host);
return newCard.getRememberedCount();
}
return host.getRememberedCount();
}
}

View File

@@ -78,7 +78,7 @@ public class CountersRemoveAllEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("RememberAmount")) {
sa.getHostCard().setChosenNumber(numberRemoved);
sa.addRemembered(Integer.valueOf(numberRemoved));
}
}
}

View File

@@ -152,9 +152,10 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
game.updateLastStateForCard(gameCard);
if (rememberRemoved) {
for (int i = 0; i < chosenAmount; i++) {
card.addRemembered(Pair.of(chosenType, i));
sa.addRemembered(Pair.of(chosenType, i));
}
}
//TODO add RememberNumber too?
cntToRemove -= chosenAmount;
}
}
@@ -175,9 +176,10 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
gameCard.subtractCounter(counterType, cntToRemove);
if (rememberRemoved) {
for (int i = 0; i < cntToRemove; i++) {
card.addRemembered(Pair.of(counterType, i));
sa.addRemembered(Pair.of(counterType, i));
}
}
//TODO add RememberNumber too?
game.updateLastStateForCard(gameCard);
}
}

View File

@@ -54,7 +54,7 @@ public class ManifestEffect extends SpellAbilityEffect {
}
Card rem = c.manifest(p, sa);
if (sa.hasParam("RememberManifested") && rem != null) {
source.addRemembered(rem);
sa.addRemembered(rem);
}
}
}

View File

@@ -129,15 +129,15 @@ public class RepeatEachEffect extends SpellAbilityEffect {
game.getUntap().addUntil(p, new GameCommand() {
@Override
public void run() {
source.addRemembered(p);
repeat.addRemembered(p);
AbilityUtils.resolve(repeat);
source.removeRemembered(p);
repeat.removeRemembered(p);
}
});
} else {
source.addRemembered(p);
repeat.addRemembered(p);
AbilityUtils.resolve(repeat);
source.removeRemembered(p);
repeat.removeRemembered(p);
}
}
}

View File

@@ -55,6 +55,7 @@ public class SacrificeAllEffect extends SpellAbilityEffect {
list = CardLists.filter(list, CardPredicates.canBeSacrificedBy(sa));
final boolean remSacrificed = sa.hasParam("RememberSacrificed");
// TODO?
if (remSacrificed) {
card.clearRemembered();
}
@@ -67,7 +68,7 @@ public class SacrificeAllEffect extends SpellAbilityEffect {
for (Card sac : list) {
final Card lKICopy = CardUtil.getLKICopy(sac);
if (game.getAction().sacrifice(sac, sa, table) != null && remSacrificed) {
card.addRemembered(lKICopy);
sa.addRemembered(lKICopy);
}
}
table.triggerChangesZoneAll(game);

View File

@@ -89,16 +89,13 @@ public class SacrificeEffect extends SpellAbilityEffect {
final boolean destroy = sa.hasParam("Destroy");
final boolean remSacrificed = sa.hasParam("RememberSacrificed");
final String remSVar = sa.getParam("RememberSacrificedSVar");
int countSacrificed = 0;
CardZoneTable table = new CardZoneTable();
if (valid.equals("Self") && game.getZoneOf(card) != null) {
if (game.getZoneOf(card).is(ZoneType.Battlefield)) {
if (game.getAction().sacrifice(card, sa, table) != null) {
countSacrificed++;
if (remSacrificed) {
card.addRemembered(card);
sa.addRemembered(card);
}
}
}
@@ -152,22 +149,12 @@ public class SacrificeEffect extends SpellAbilityEffect {
game.getTriggerHandler().runTrigger(TriggerType.Exploited, runParams, false);
}
if (wasDestroyed || wasSacrificed) {
countSacrificed++;
if (remSacrificed) {
card.addRemembered(lKICopy);
sa.addRemembered(lKICopy);
}
}
}
}
if (remSVar != null) {
card.setSVar(remSVar, String.valueOf(countSacrificed));
SpellAbility root = sa;
do {
root.setSVar(remSVar, String.valueOf(countSacrificed));
root = root.getSubAbility();
} while (root != null);
}
}
table.triggerChangesZoneAll(game);

View File

@@ -788,12 +788,12 @@ public class CardFactoryUtil {
}
if (l[0].startsWith("RememberedSize")) {
return doXMath(c.getRememberedCount(), m, c);
return doXMath(AbilityUtils.getRememberedCount(null, c), m, c);
}
if (l[0].startsWith("RememberedNumber")) {
int num = 0;
for (final Object o : c.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(null, c)) {
if (o instanceof Integer) {
num += (Integer) o;
}
@@ -1166,9 +1166,6 @@ public class CardFactoryUtil {
if (sq[0].contains("Equipped") && c.isEquipping()) {
ce = c.getEquipping();
}
else if (sq[0].contains("Remembered")) {
ce = (Card) c.getFirstRemembered();
}
else {
ce = c;
}

View File

@@ -54,17 +54,7 @@ public class CardProperty {
return false;
}
} else if (property.equals("NamedByRememberedPlayer")) {
if (!source.hasRemembered()) {
final Card newCard = game.getCardState(source);
for (final Object o : newCard.getRemembered()) {
if (o instanceof Player) {
if (!card.sharesNameWith(((Player) o).getNamedCard())) {
return false;
}
}
}
}
for (final Object o : source.getRemembered()) {
for (final Object o : AbilityUtils.getRemembered(spellAbility, source)) {
if (o instanceof Player) {
if (!card.sharesNameWith(((Player) o).getNamedCard())) {
return false;
@@ -195,25 +185,12 @@ public class CardProperty {
}
} else if (property.startsWith("RememberedPlayer")) {
Player p = property.endsWith("Ctrl") ? controller : card.getOwner();
if (!source.hasRemembered()) {
final Card newCard = game.getCardState(source);
if (!newCard.isRemembered(p)) {
return false;
}
}
if (!source.isRemembered(p)) {
if (!AbilityUtils.isRemembered(spellAbility, source, p)) {
return false;
}
} else if (property.startsWith("nonRememberedPlayerCtrl")) {
if (!source.hasRemembered()) {
final Card newCard = game.getCardState(source);
if (newCard.isRemembered(controller)) {
return false;
}
}
if (source.isRemembered(controller)) {
if (AbilityUtils.isRemembered(spellAbility, source, controller)) {
return false;
}
} else if (property.equals("TargetedPlayerCtrl")) {
@@ -506,7 +483,7 @@ public class CardProperty {
} else if (property.startsWith("CanEnchant")) {
final String restriction = property.substring(10);
if (restriction.equals("Remembered")) {
for (final Object rem : source.getRemembered()) {
for (final Object rem : AbilityUtils.getRemembered(spellAbility, source)) {
if (!(rem instanceof Card) || !((Card) rem).canBeAttached(card))
return false;
}
@@ -526,7 +503,7 @@ public class CardProperty {
}
}
} else if (property.substring(16).equals("AllRemembered")) {
for (final Object rem : source.getRemembered()) {
for (final Object rem : AbilityUtils.getRemembered(spellAbility, source)) {
if (rem instanceof Card) {
final Card c = (Card) rem;
if (!card.canBeAttached(c)) {
@@ -658,7 +635,7 @@ public class CardProperty {
return false;
} else if (property.endsWith("Remembered")) {
boolean matched = false;
for (final Object obj : source.getRemembered()) {
for (final Object obj : AbilityUtils.getRemembered(spellAbility, source)) {
if (!(obj instanceof Card)) {
continue;
}
@@ -819,7 +796,7 @@ public class CardProperty {
}
return false;
case "Remembered":
for (final Object rem : source.getRemembered()) {
for (final Object rem : AbilityUtils.getRemembered(spellAbility, source)) {
if (rem instanceof Card) {
final Card c = (Card) rem;
if (card.sharesCreatureTypeWith(c)) {
@@ -829,7 +806,7 @@ public class CardProperty {
}
return false;
case "AllRemembered":
for (final Object rem : source.getRemembered()) {
for (final Object rem : AbilityUtils.getRemembered(spellAbility, source)) {
if (rem instanceof Card) {
final Card c = (Card) rem;
if (!card.sharesCreatureTypeWith(c)) {
@@ -1679,11 +1656,11 @@ public class CardProperty {
}
return false;
} else if (property.equals("IsRemembered")) {
if (!source.isRemembered(card)) {
if (!AbilityUtils.isRemembered(spellAbility, source, card)) {
return false;
}
} else if (property.equals("IsNotRemembered")) {
if (source.isRemembered(card)) {
if (AbilityUtils.isRemembered(spellAbility, source, card)) {
return false;
}
} else if (property.equals("IsImprinted")) {

View File

@@ -192,11 +192,11 @@ public class PlayerProperty {
}
}
} else if (property.equals("IsRemembered")) {
if (!source.isRemembered(player)) {
if (!AbilityUtils.isRemembered(spellAbility, source, player)) {
return false;
}
} else if (property.equals("IsNotRemembered")) {
if (source.isRemembered(player)) {
if (AbilityUtils.isRemembered(spellAbility, source, player)) {
return false;
}
} else if (property.equals("EnchantedBy")) {

View File

@@ -21,6 +21,8 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import forge.card.mana.ManaCost;
import forge.game.*;
import forge.game.ability.AbilityFactory;
@@ -125,7 +127,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
private SpellAbilityRestriction restrictions = new SpellAbilityRestriction();
private SpellAbilityCondition conditions = new SpellAbilityCondition();
private AbilitySub subAbility = null;
private Map<String, AbilitySub> additionalAbilities = Maps.newHashMap();
private Map<String, List<AbilitySub>> additionalAbilityLists = Maps.newHashMap();
@@ -140,6 +142,8 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
private HashMap<String, Object> replacingObjects = Maps.newHashMap();
private Set<Object> rememberedObjects = Sets.newLinkedHashSet();
private List<AbilitySub> chosenList = null;
private CardCollection tappedForConvoke = new CardCollection();
private Card sacrificedAsOffering = null;
@@ -162,7 +166,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
private CardCollection lastStateBattlefield = null;
private CardCollection lastStateGraveyard = null;
private CardDamageMap damageMap = null;
private CardDamageMap preventMap = null;
@@ -284,7 +288,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
// Spell, and Ability, and other Ability objects override this method
public abstract boolean canPlay();
public boolean canPlay(boolean checkOptionalCosts) {
if (canPlay()) {
return true;
@@ -299,7 +303,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
}
return false;
}
public boolean canPlayWithOptionalCost(OptionalCostValue opt) {
SpellAbility saCopy = this.copy();
saCopy = GameActionUtil.addOptionalCosts(saCopy, Lists.newArrayList(opt));
@@ -608,7 +612,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
}
}
}
// key for autoyield - the card description (including number) (if there is a card) plus the effect description
public String yieldKey() {
if (getHostCard() != null) {
@@ -632,7 +636,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
setDescription(s);
}
}
public String getOriginalStackDescription() {
return originalStackDescription;
}
@@ -646,7 +650,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
originalDescription = s;
description = originalDescription;
}
public String getOriginalDescription() {
return originalDescription;
}
@@ -710,7 +714,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
}
view.updateDescription(this); //description changes when sub-abilities change
}
public Map<String, AbilitySub> getAdditionalAbilities() {
return additionalAbilities;
}
@@ -720,7 +724,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
}
return null;
}
public boolean hasAdditionalAbility(final String name) {
return additionalAbilities.containsKey(name);
}
@@ -745,7 +749,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
return ImmutableList.of();
}
}
public void setAdditionalAbilityList(final String name, final List<AbilitySub> list) {
if (list == null || list.isEmpty()) {
additionalAbilityLists.remove(name);
@@ -876,6 +880,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
clone.mapParams = Maps.newHashMap(this.mapParams);
clone.triggeringObjects = Maps.newHashMap(this.triggeringObjects);
clone.rememberedObjects = Sets.newLinkedHashSet(this.rememberedObjects);
if (getPayCosts() != null) {
clone.setPayCosts(getPayCosts().copy());
@@ -1086,7 +1091,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
// Restrictions coming from target
return entity.canBeTargetedBy(this);
}
// is this a wrapping ability (used by trigger abilities)
public boolean isWrapper() {
return false;
@@ -1340,20 +1345,20 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
/**
* returns true if another target can be added
* @return
* @return
*/
public boolean canAddMoreTarget() {
if (!this.usesTargeting()) {
return false;
}
return getTargets().getNumTargeted() < getTargetRestrictions().getMaxTargets(hostCard, this);
}
public boolean isZeroTargets() {
return getTargetRestrictions().getMinTargets(hostCard, this) == 0 && getTargets().getNumTargeted() == 0;
}
public boolean isTargetNumberValid() {
if (!this.usesTargeting()) {
return getTargets().isEmpty();
@@ -1742,7 +1747,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
for (AbilitySub sa : additionalAbilities.values()) {
sa.changeText();
}
for (List<AbilitySub> list : additionalAbilityLists.values()) {
for (AbilitySub sa : list) {
sa.changeText();
@@ -1852,12 +1857,12 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
return score;
}
public CardDamageMap getDamageMap() {
if (damageMap != null) {
return damageMap;
} else if (getParent() != null) {
return getParent().getDamageMap();
return getParent().getDamageMap();
}
return null;
}
@@ -1866,7 +1871,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
if (preventMap != null) {
return preventMap;
} else if (getParent() != null) {
return getParent().getPreventMap();
return getParent().getPreventMap();
}
return null;
}
@@ -1877,4 +1882,68 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
public void setPreventMap(final CardDamageMap map) {
preventMap = map;
}
public <T> boolean isRemembered(T o) {
if (rememberedObjects.contains(o)) {
return true;
}
return AbilityUtils.isRemembered(getParent(), getHostCard(), o);
}
public boolean hasRemembered() {
if (!rememberedObjects.isEmpty()) {
return true;
}
return AbilityUtils.hasRemembered(getParent(), getHostCard());
}
public Iterable<Object> getRemembered() {
return Iterables.concat(rememberedObjects, AbilityUtils.getRemembered(getParent(), getHostCard()));
}
public int getRememberedCount() {
return rememberedObjects.size() + AbilityUtils.getRememberedCount(getParent(), getHostCard());
}
public <T> void addRemembered(final T o) {
if (rememberedObjects.add(o)) {
//view.updateRemembered(this);
}
}
public <T> void addRemembered(final Iterable<T> objects) {
boolean changed = false;
for (T o : objects) {
if (rememberedObjects.add(o)) {
changed = true;
}
}
if (changed) {
//view.updateRemembered(this);
}
}
public <T> void removeRemembered(final T o) {
if (rememberedObjects.remove(o)) {
//view.updateRemembered(this);
}
}
public <T> void removeRemembered(final Iterable<T> list) {
boolean changed = false;
for (T o : list) {
if (rememberedObjects.remove(o)) {
changed = true;
}
}
if (changed) {
//view.updateRemembered(this);
}
}
public void clearRemembered() {
if (rememberedObjects.isEmpty()) { return; }
rememberedObjects.clear();
//view.updateRemembered(this);
}
}

View File

@@ -440,6 +440,51 @@ public class WrappedAbility extends Ability {
sa.resetTargets();
}
@Override
public <T> boolean isRemembered(T o) {
return sa.isRemembered(o);
}
@Override
public boolean hasRemembered() {
return sa.hasRemembered();
}
@Override
public Iterable<Object> getRemembered() {
return sa.getRemembered();
}
@Override
public int getRememberedCount() {
return sa.getRememberedCount();
}
@Override
public <T> void addRemembered(final T o) {
sa.addRemembered(o);
}
@Override
public <T> void addRemembered(final Iterable<T> objects) {
sa.addRemembered(objects);
}
@Override
public <T> void removeRemembered(final T o) {
sa.removeRemembered(o);
}
@Override
public <T> void removeRemembered(final Iterable<T> list) {
sa.removeRemembered(list);
}
@Override
public void clearRemembered() {
sa.clearRemembered();
}
// //////////////////////////////////////
// THIS ONE IS ALL THAT MATTERS
// //////////////////////////////////////

View File

@@ -5,8 +5,7 @@ PT:1/1
A:AB$ PutCounter | Cost$ 1 R | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ StoreNum | StackDescription$ SpellDescription | SpellDescription$ Put a +1/+1 counter on CARDNAME. If this is the third time this ability has resolved this turn, remove all +1/+1 counters from CARDNAME, and it deals that much damage to each creature and each player.
SVar:StoreNum:DB$ StoreSVar | SVar$ AshlingNum | Type$ CountSVar | Expression$ AshlingNum/Plus.1 | SubAbility$ DBRemoveCounter
SVar:DBRemoveCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBDmg | ConditionCheckSVar$ AshlingNum | ConditionSVarCompare$ EQ3 | StackDescription$ None
SVar:DBDmg:DB$ DamageAll | NumDmg$ X | References$ X | ValidCards$ Creature | ValidPlayers$ Player | ValidDescription$ each creature and each player. | SubAbility$ DBCleanup | ConditionCheckSVar$ AshlingNum | ConditionSVarCompare$ EQ3 | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDmg:DB$ DamageAll | NumDmg$ X | References$ X | ValidCards$ Creature | ValidPlayers$ Player | ValidDescription$ each creature and each player. | ConditionCheckSVar$ AshlingNum | ConditionSVarCompare$ EQ3 | StackDescription$ None
SVar:AshlingNum:Number$0
SVar:X:Count$RememberedSize
T:Mode$ Phase | Phase$ Cleanup | Execute$ TrigReset | Static$ True

View File

@@ -4,10 +4,10 @@ Types:Land
A:AB$ Mana | Cost$ T | Produced$ C R | SpellDescription$ Add {C}{R}.
A:AB$ DealDamage | Cost$ 1 T | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target attacking creature.
R:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ PayBeforeETB | Description$ If CARDNAME would enter the battlefield, sacrifice an untapped Mountain instead. If you do, put CARDNAME onto the battlefield. If you don't, put it into its owner's graveyard.
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Mountain.untapped | Defined$ You | RememberSacrificed$ True | SubAbility$ MoveToGraveyard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | SubAbility$ MoveToBattlefield
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Mountain.untapped | Defined$ You | RememberSacrificed$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | TrueSubAbility$ MoveToBattlefield | FalseSubAbility$ MoveToGraveyard
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard
SVar:X:Remembered$Amount
SVar:NeedsToPlay:Mountain.YouCtrl+inZoneBattlefield+untapped
SVar:Picture:http://www.wizards.com/global/images/magic/general/balduvian_trading_post.jpg

View File

@@ -6,7 +6,7 @@ A:SP$ Sacrifice | Cost$ 3 B G | SacValid$ Creature | RememberSacrificed$ True |
SVar:DBReturnChoose:DB$ ChooseCard | Defined$ You | Choices$ Card.YouOwn | ChoiceZone$ Graveyard | Amount$ X | References$ X | SubAbility$ DBReturn
SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ChosenCard | SubAbility$ ExileSelf
SVar:ExileSelf:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | Defined$ Self | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
SVar:X:RememberedLKI$CardNumColors
SVar:Picture:http://www.wizards.com/global/images/magic/general/bounddetermined.jpg
Oracle:Sacrifice a creature. Return up to X cards from your graveyard to your hand, where X is the number of colors that creature was. Exile this card.

View File

@@ -2,11 +2,12 @@ Name:Bounty of the Luxa
ManaCost:2 G U
Types:Enchantment
T:Mode$ Phase | Phase$ Main1 | PreCombatMain$ True | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all flood counters from CARDNAME. If no counters were removed this way, put a flood counter on CARDNAME and draw a card. Otherwise, add {C}{G}{U}.
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ FLOOD | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$PutCounter | Defined$ Self | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | CounterType$ FLOOD | CounterNum$ 1 | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBGetMana
SVar:DBGetMana:DB$ Mana | Produced$ C G U | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ FLOOD | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | TrueSubAbility$ DBGetMana | FalseSubAbility$ DBPutCounter
SVar:DBPutCounter:DB$PutCounter | Defined$ Self | CounterType$ FLOOD | CounterNum$ 1 | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 1
SVar:DBGetMana:DB$ Mana | Produced$ C G U
SVar:X:Count$RememberedSize
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/bounty_of_the_luxa.jpg
Oracle:At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {C}{G}{U}.
Oracle:At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {C}{G}{U}.

View File

@@ -3,8 +3,7 @@ ManaCost:4
Types:Artifact Creature Construct
PT:4/1
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+OwnerDoesntControl | Execute$ TrigSac | TriggerDescription$ When a player other than CARDNAME's owner controls it, that player sacrifices it. If the player does, CARDNAME deals 7 damage to them.
SVar:TrigSac:DB$SacrificeAll | Defined$ Self | RememberSacrificed$ True | SubAbility$ DBDmg
SVar:DBDmg:DB$DealDamage | Defined$ You | NumDmg$ 7 | CheckSVar$ X | SVarCompare$ GE1 | References$ X
SVar:X:Remembered$Amount
SVar:TrigSac:DB$Sacrifice | RememberSacrificed$ True | SubAbility$ DBDmg
SVar:DBDmg:DB$DealDamage | Defined$ You | NumDmg$ 7 | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Picture:http://www.wizards.com/global/images/magic/general/bronze_bombshell.jpg
Oracle:When a player other than Bronze Bombshell's owner controls it, that player sacrifices it. If the player does, Bronze Bombshell deals 7 damage to them.

View File

@@ -6,9 +6,9 @@ K:etbCounter:P1P1:4
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigClockworkRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks or blocks, remove a +1/+1 counter from it. If you do, CARDNAME deals 1 damage to any target.
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigClockworkRemoveCounter | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks or blocks, remove a +1/+1 counter from it. If you do, CARDNAME deals 1 damage to any target.
SVar:TrigClockworkRemoveCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBClockworkDamage
SVar:DBClockworkDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | References$ ClockworkX | ConditionCheckSVar$ ClockworkX | ConditionSVarCompare$ GE1 | SubAbility$ DBClockworkCleanup
SVar:DBClockworkDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | References$ ClockworkX | ConditionCheckSVar$ ClockworkX | ConditionSVarCompare$ GE1
A:AB$ PutCounter | Cost$ T | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME.
SVar:DBClockworkCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:ClockworkX:Count$RememberedSize
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/clockwork_hydra.jpg
Oracle:Clockwork Hydra enters the battlefield with four +1/+1 counters on it.\nWhenever Clockwork Hydra attacks or blocks, remove a +1/+1 counter from it. If you do, Clockwork Hydra deals 1 damage to any target.\n{T}: Put a +1/+1 counter on Clockwork Hydra.

View File

@@ -5,8 +5,7 @@ A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one man
A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME.
T:Mode$ Phase | Phase$ Main1 | PreCombatMain$ True | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color for each charge counter removed this way.
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ All | RememberRemoved$ True | SubAbility$ TrigGetMana
SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | References$ NumRemoved | AILogic$ MostProminentInComputerHand | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | References$ NumRemoved | AILogic$ MostProminentInComputerHand
SVar:NumRemoved:Count$RememberedSize
SVar:Picture:http://www.wizards.com/global/images/magic/general/coalition_relic.jpg
Oracle:{T}: Add one mana of any color.\n{T}: Put a charge counter on Coalition Relic.\nAt the beginning of your precombat main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way.

View File

@@ -8,13 +8,14 @@ SVar:TrigTap:DB$ Tap | Defined$ Enchanted | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | CounterType$ PUPA | CounterNum$ 3
S:Mode$ Continuous | Affected$ Creature.AttachedBy | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | IsPresent$ Card.Self+counters_GE1_PUPA | Description$ Enchanted creature doesn't untap during your untap step if CARDNAME has a pupa counter on it.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ At the beginning of your upkeep, remove a pupa counter from CARDNAME. If you can't, sacrifice it, put a +1/+1 counter on enchanted creature, and that creature gains flying. (This effect lasts indefinitely.)
SVar:TrigRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ PUPA | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ TrigPutCounter
SVar:TrigRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ PUPA | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | FalseSubAbility$ TrigPutCounter
# TODO need EnchantedLKI because it isn't enchanted anymore if this is sacrificed
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Enchanted | CounterType$ P1P1 | CounterNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | References$ X | SubAbility$ TrigPump
SVar:TrigPump:DB$ Pump | Defined$ Enchanted | KW$ Flying | Permanent$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | References$ X | SubAbility$ TrigSac
SVar:TrigSac:DB$ Sacrifice | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Enchanted | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ TrigPump
SVar:TrigPump:DB$ Pump | Defined$ Enchanted | KW$ Flying | Permanent$ True | SubAbility$ TrigSac
SVar:TrigSac:DB$ Sacrifice | Defined$ Self
SVar:X:Count$RememberedSize
AI:RemoveDeck:Random
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/cocoon.jpg
Oracle:Enchant creature you control\nWhen Cocoon enters the battlefield, tap enchanted creature and put three pupa counters on Cocoon.\nEnchanted creature doesn't untap during your untap step if Cocoon has a pupa counter on it.\nAt the beginning of your upkeep, remove a pupa counter from Cocoon. If you can't, sacrifice it, put a +1/+1 counter on enchanted creature, and that creature gains flying.

View File

@@ -3,8 +3,7 @@ ManaCost:3 B
Types:Sorcery
K:Rebound
A:SP$ Sacrifice | Cost$ 3 B | SacValid$ Creature | ValidTgts$ Player | TgtPrompt$ Select target player | Amount$ 1 | RememberSacrificed$ True | SubAbility$ DBGainLife | SpellDescription$ Target player sacrifices a creature. You gain life equal to that creature's toughness.
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X
SVar:X:RememberedLKI$CardToughness
SVar:Picture:http://www.wizards.com/global/images/magic/general/consuming_vapors.jpg
Oracle:Target player sacrifices a creature. You gain life equal to that creature's toughness.\nRebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)

View File

@@ -7,8 +7,7 @@ A:AB$ Pump | Cost$ B | KW$ Flying | SpellDescription$ Crovax gains flying until
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may sacrifice a creature. If you do, put a +1/+1 counter on Crovax. If you don't, remove a +1/+1 counter from Crovax.
SVar:TrigSacrifice:DB$ Sacrifice | Optional$ True | SacValid$ Creature | Amount$ 1 | RememberSacrificed$ True | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | SubAbility$ DBSubCounter
SVar:DBSubCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBSubCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ0
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/crovax_the_cursed.jpg
Oracle:Crovax the Cursed enters the battlefield with four +1/+1 counters on it.\nAt the beginning of your upkeep, you may sacrifice a creature. If you do, put a +1/+1 counter on Crovax. If you don't, remove a +1/+1 counter from Crovax.\n{B}: Crovax gains flying until end of turn.

View File

@@ -5,8 +5,6 @@ K:Enchant player
A:SP$ Attach | Cost$ 5 B B | ValidTgts$ Player | AILogic$ Curse
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of enchanted player's upkeep, that player sacrifices a creature or planeswalker. If the player can't, they lose 5 life.
SVar:TrigSac:DB$ Sacrifice | SacValid$ Creature,Planeswalker | Defined$ TriggeredPlayer | SubAbility$ DBLoseLife | RememberSacrificed$ True | SpellDescription$ Sacrifice a creature or planeswalker
SVar:DBLoseLife:DB$LoseLife | LifeAmount$ 5 | Defined$ TriggeredPlayer | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBLoseLife:DB$LoseLife | LifeAmount$ 5 | Defined$ TriggeredPlayer | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
SVar:Picture:http://www.wizards.com/global/images/magic/general/cruel_reality.jpg
Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, that player sacrifices a creature or planeswalker. If the player can't, they lose 5 life.
Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, that player sacrifices a creature or planeswalker. If the player can't, they lose 5 life.

View File

@@ -4,9 +4,8 @@ Types:Artifact Vehicle
PT:4/4
T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | IsPresent$ Card.Self+attackedThisCombat,Card.Self+blockedThisCombat | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At end of combat, if CARDNAME attacked or blocked this combat, put a velocity counter on it. Then if it has two or more velocity counters on it, sacrifice it and draw two cards.
SVar:TrigPutCounter:DB$PutCounter | CounterType$ VELOCITY | CounterNum$ 1 | SubAbility$ DBSac
SVar:DBSac:DB$ Sacrifice | SacValid$ Self | RememberSacrificed$ True | ConditionPresent$ Card.Self+counters_GE2_VELOCITY | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBSac:DB$ Sacrifice | SacValid$ Self | ConditionPresent$ Card.Self+counters_GE2_VELOCITY | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 2 | ConditionDefined$ Self | ConditionPresent$ Card.Self+counters_GE2_VELOCITY
K:Crew:2
SVar:Picture:http://www.wizards.com/global/images/magic/general/daredevil_dragster.jpg
Oracle:At end of combat, if Daredevil Dragster attacked or blocked this combat, put a velocity counter on it. Then if it has two or more velocity counters on it, sacrifice it and draw two cards.\nCrew 2 (Tap any number of creatures you control with total power 2 or more: This Vehicle becomes an artifact creature until end of turn.)

View File

@@ -2,10 +2,9 @@ Name:Daretti, Ingenious Iconoclast
ManaCost:1 B R
Types:Legendary Planeswalker Daretti
Loyalty:3
A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenName$ Construct | TokenTypes$ Artifact,Creature,Construct | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Defender | TokenImage$ c 1 1 construct CN2 | SpellDescription$ Create a 1/1 colorless Construct artifact creature token with defender.
A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ c_1_1_construct_defender | TokenOwner$ You | SpellDescription$ Create a 1/1 colorless Construct artifact creature token with defender.
A:AB$ Sacrifice | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | Amount$ 1 | SacValid$ Artifact | RememberSacrificed$ True | Optional$ True | SubAbility$ DBDestroy | SpellDescription$ You may sacrifice an artifact. If you do, destroy target artifact or creature. | StackDescription$ SpellDescription
SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
A:AB$ CopyPermanent | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Artifact | TgtZone$ Battlefield,Graveyard | TgtPrompt$ Select an artifact in graveyard or the battlefield | NumCopies$ 3 | SpellDescription$ Choose target artifact card in a graveyard or artifact on the battlefield. Create three tokens that are copies of it.
SVar:Picture:http://www.wizards.com/global/images/magic/general/daretti_ingenious_iconoclast.jpg
Oracle:[+1]: Create a 1/1 colorless Construct artifact creature token with defender.\n[-1]: You may sacrifice an artifact. If you do, destroy target artifact or creature.\n[-6]: Choose target artifact card in a graveyard or artifact on the battlefield. Create three tokens that are copies of it.
Oracle:[+1]: Create a 1/1 colorless Construct artifact creature token with defender.\n[-1]: You may sacrifice an artifact. If you do, destroy target artifact or creature.\n[-6]: Choose target artifact card in a graveyard or artifact on the battlefield. Create three tokens that are copies of it.

View File

@@ -4,7 +4,6 @@ Types:Enchantment
A:AB$ PutCounter | Cost$ 2 | CounterType$ PLOT | CounterNum$ 1 | AnyPlayer$ True | SpellDescription$ Put a plot counter on CARDNAME. Any player may activate this ability.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE5_PLOT | Execute$ TrigSac | TriggerDescription$ When there are five or more plot counters on CARDNAME, sacrifice it. If you do, destroy up to two target creatures.
SVar:TrigSac:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBDestroy
SVar:DBDestroy:DB$ Destroy | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup | TgtPrompt$ Select target creature
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDestroy:DB$ Destroy | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | TgtPrompt$ Select target creature
SVar:Picture:http://www.wizards.com/global/images/magic/general/deadly_designs.jpg
Oracle:{2}: Put a plot counter on Deadly Designs. Any player may activate this ability.\nWhen there are five or more plot counters on Deadly Designs, sacrifice it. If you do, destroy up to two target creatures.
Oracle:{2}: Put a plot counter on Deadly Designs. Any player may activate this ability.\nWhen there are five or more plot counters on Deadly Designs, sacrifice it. If you do, destroy up to two target creatures.

View File

@@ -6,9 +6,8 @@ SVar:Counters:DB$ PutCounter | CounterType$ DELAY | CounterNum$ NumDamage | Refe
SVar:NumDamage:ReplaceCount$DamageAmount
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_GE1_DELAY | Execute$ RemoveCounters | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, remove all delay counters from CARDNAME. For each delay counter removed this way, you lose 1 life unless you pay {1}{W}.
SVar:RemoveCounters:DB$ RemoveCounter | CounterType$ DELAY | CounterNum$ All | RememberRemoved$ True | SubAbility$ RepeatOnUpkeep
SVar:RepeatOnUpkeep:DB$ Repeat | MaxRepeat$ NumRemoved | References$ NumRemoved | RepeatSubAbility$ DBLoseLife | SubAbility$ DBCleanup
SVar:RepeatOnUpkeep:DB$ Repeat | MaxRepeat$ NumRemoved | References$ NumRemoved | RepeatSubAbility$ DBLoseLife
SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 1 | Defined$ You | UnlessCost$ 1 W | UnlessPayer$ You
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:NumRemoved:Count$RememberedSize
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/delaying_shield.jpg

View File

@@ -5,9 +5,7 @@ PT:6/6
K:Flying
T:Mode$ Phase | Phase$ BeginCombat | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of each combat, any opponent may sacrifice a creature. If a player does, tap CARDNAME and put a +1/+1 counter on it.
SVar:TrigSac:DB$ Sacrifice | Defined$ Opponent | Amount$ 1 | SacValid$ Creature | RememberSacrificed$ True | Optional$ True | AILogic$ DesecrationDemon | SubAbility$ DBSacSelf
SVar:DBSacSelf:DB$ Tap | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBSacSelf:DB$ Tap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Picture:http://www.wizards.com/global/images/magic/general/desecration_demon.jpg
Oracle:Flying\nAt the beginning of each combat, any opponent may sacrifice a creature. If a player does, tap Desecration Demon and put a +1/+1 counter on it.

View File

@@ -2,8 +2,7 @@ Name:Devour Flesh
ManaCost:1 B
Types:Instant
A:SP$ Sacrifice | Cost$ 1 B | ValidTgts$ Player | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBGainLife | SpellDescription$ Target player sacrifices a creature, then gains life equal to that creature's toughness. | StackDescription$ SpellDescription
SVar:DBGainLife:DB$ GainLife | Defined$ Targeted | LifeAmount$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$ GainLife | Defined$ Targeted | LifeAmount$ X | References$ X
SVar:X:RememberedLKI$CardToughness
SVar:Picture:http://www.wizards.com/global/images/magic/general/devour_flesh.jpg
Oracle:Target player sacrifices a creature, then gains life equal to that creature's toughness.

View File

@@ -5,8 +5,7 @@ PT:2/1
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice another creature. You gain X life and draw X cards, where X is that creature's power.
SVar:TrigSac:DB$ Sacrifice | Amount$ 1 | SacValid$ Creature.Other | RememberSacrificed$ True | Mandatory$ True | SubAbility$ GainLife
SVar:GainLife:DB$ GainLife | LifeAmount$ X | References$ X | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X
SVar:X:RememberedLKI$CardPower
SVar:NeedsToPlay:Creature.YouCtrl
AI:RemoveDeck:All

View File

@@ -5,8 +5,7 @@ PT:10/10
K:Trample
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. You gain life equal to that creature's toughness.
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBGainLife
SVar:DBGainLife:DB$GainLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X
SVar:X:RememberedLKI$CardToughness
SVar:NeedsToPlayVar:Z GE2
SVar:Z:Count$Valid Creature.YouCtrl+inZoneBattlefield

View File

@@ -6,8 +6,7 @@ K:CantBeBlockedBy Creature.Red
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigElderSpawnSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, unless you sacrifice an Island, sacrifice CARDNAME and it deals 6 damage to you. CARDNAME can't be blocked by red creatures.
SVar:TrigElderSpawnSacrifice:DB$ Sacrifice | SacValid$ Island | Optional$ True | RememberSacrificed$ True | SubAbility$ DBElderSpawnSacrificeMe
SVar:DBElderSpawnSacrificeMe:DB$ Sacrifice | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Island | ConditionCompare$ EQ0 | SubAbility$ DBElderSpawnDamage
SVar:DBElderSpawnDamage:DB$ DealDamage | Defined$ You | NumDmg$ 6 | ConditionDefined$ Remembered | ConditionPresent$ Island | ConditionCompare$ EQ0 | SubAbility$ DBElderSpawnCleanup
SVar:DBElderSpawnCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBElderSpawnDamage:DB$ DealDamage | Defined$ You | NumDmg$ 6 | ConditionDefined$ Remembered | ConditionPresent$ Island | ConditionCompare$ EQ0
AI:RemoveDeck:Random
SVar:NeedsToPlayVar:Z GE3
SVar:Z:Count$Valid Island.YouCtrl+inZoneBattlefield

View File

@@ -3,9 +3,7 @@ ManaCost:5
Types:Artifact
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. If you can't, sacrifice CARDNAME.
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ Creature | SubAbility$ DBSacSelf | RememberSacrificed$ True
SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Flying & Indestructible | Description$ Creatures you control get +1/+1 and have flying and indestructible.
SVar:PlayMain1:TRUE
SVar:NeedsToPlayVar:Y GE3

View File

@@ -4,8 +4,7 @@ Types:Enchantment
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTarget | TriggerDescription$ At the beginning of your end step, target enchantment deals damage equal to its converted mana cost to its controller unless that player sacrifices it.
SVar:TrigTarget:DB$ Pump | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | IsCurse$ True | ImprintCards$ Targeted | SubAbility$ DBSac
SVar:DBSac:DB$ Sacrifice | Defined$ TargetedController | SacValid$ TargetedCard.Self | Optional$ True | RememberSacrificed$ True | SubAbility$ TrigDamage
SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | Defined$ ImprintedController | DamageSource$ Imprinted | References$ X,Y | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
SVar:Y:Remembered$Amount
SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | Defined$ ImprintedController | DamageSource$ Imprinted | References$ X | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True
SVar:X:Imprinted$CardManaCost
Oracle:At the beginning of your end step, target enchantment deals damage equal to its converted mana cost to its controller unless that player sacrifices it.

View File

@@ -2,8 +2,7 @@ Name:Entrapment Maneuver
ManaCost:3 W
Types:Instant
A:SP$ Sacrifice | Cost$ 3 W | ValidTgts$ Player | SacValid$ Creature.attacking | SacMessage$ attacking creature | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ Target player sacrifices an attacking creature. You create X 1/1 white Soldier creature tokens, where X is that creature's toughness.
SVar:DBToken:DB$ Token | TokenAmount$ X | References$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ White | TokenImage$ w 1 1 soldier C16 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBToken:DB$ Token | TokenAmount$ X | References$ X | TokenScript$ w_1_1_soldier | TokenOwner$ You
SVar:X:RememberedLKI$CardToughness
DeckHas:Ability$Token
SVar:Picture:http://www.wizards.com/global/images/magic/general/entrapment_maneuver.jpg

View File

@@ -6,8 +6,8 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ M1M1 | IsCurse$ True | CounterNum$ 3
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, remove a -1/-1 counter from it. If you do, you gain 1 life.
SVar:TrigRemoveCounter:DB$ RemoveCounter | CounterType$ M1M1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBGainLife
SVar:DBGainLife:DB$GainLife | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | LifeAmount$ 1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$RememberedSize
SVar:DBGainLife:DB$GainLife | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | LifeAmount$ 1
SVar:X:Count$RememberedSize
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/exemplar_of_strength.jpg
Oracle:When Exemplar of Strength enters the battlefield, put three -1/-1 counters on target creature you control.\nWhenever Exemplar of Strength attacks, remove a -1/-1 counter from it. If you do, you gain 1 life.
Oracle:When Exemplar of Strength enters the battlefield, put three -1/-1 counters on target creature you control.\nWhenever Exemplar of Strength attacks, remove a -1/-1 counter from it. If you do, you gain 1 life.

View File

@@ -2,7 +2,7 @@ Name:Fierce Invocation
ManaCost:4 R
Types:Sorcery
A:SP$ Manifest | Cost$ 4 R | Amount$ 1 | Defined$ TopOfLibrary | RememberManifested$ True | SubAbility$ TrigPutCounter | SpellDescription$ Manifest the top card of your library, then put two +1/+1 counters on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ 2 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ 2
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/fierce_invocation.jpg
Oracle:Manifest the top card of your library, then put two +1/+1 counters on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)

View File

@@ -2,10 +2,9 @@ Name:Flame-Kin War Scout
ManaCost:3 R
Types:Creature Elemental Scout
PT:2/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other |TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ When another creature enters the battlefield, sacrifice Flame-Kin War Scout. If you do, Flame-Kin War Scout deals 4 damage to that creature.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other |TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ When another creature enters the battlefield, sacrifice CARDNAME. If you do, CARDNAME deals 4 damage to that creature.
SVar:TrigSac:DB$Sacrifice | Defined$ Self | SubAbility$ DBDamage | RememberSacrificed$ True
SVar:DBDamage:DB$DealDamage | Defined$ TriggeredCardLKICopy | NumDmg$ 4 | ConditionDefined$ Remembered | ConditionPresent$ Card.Self | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:DBDamage:DB$DealDamage | Defined$ TriggeredCardLKICopy | NumDmg$ 4 | ConditionDefined$ Remembered | ConditionPresent$ Card.Self
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/flame_kin_war_scout.jpg
Oracle:When another creature enters the battlefield, sacrifice Flame-Kin War Scout. If you do, Flame-Kin War Scout deals 4 damage to that creature.

View File

@@ -2,7 +2,7 @@ Name:Formless Nurturing
ManaCost:3 G
Types:Sorcery
A:SP$ Manifest | Cost$ 3 G | Amount$ 1 | Defined$ TopOfLibrary | RememberManifested$ True | SubAbility$ TrigPutCounter | SpellDescription$ Manifest the top card of your library, then put a +1/+1 counter on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ 1
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/formless_nurturing.jpg
Oracle:Manifest the top card of your library, then put a +1/+1 counter on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)

View File

@@ -4,7 +4,7 @@ Types:Legendary Planeswalker Garruk
Loyalty:3
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_LE2_LOYALTY | Execute$ TrigTransform | TriggerDescription$ When CARDNAME has two or fewer loyalty counters on him, transform him.
A:AB$ DealDamage | Cost$ AddCounter<0/LOYALTY> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SubAbility$ DamageThis | Planeswalker$ True | SpellDescription$ CARDNAME deals 3 damage to target creature. That creature deals damage equal to its power to him.
A:AB$ Token | Cost$ AddCounter<0/LOYALTY> | TokenAmount$ 1 | TokenName$ Wolf | TokenColors$ Green | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | TokenImage$ g 2 2 wolf ISD | Planeswalker$ True | References$ Y | SpellDescription$ Create a 2/2 green Wolf creature token.
A:AB$ Token | Cost$ AddCounter<0/LOYALTY> | TokenAmount$ 1 | TokenScript$ g_2_2_wolf | TokenOwner$ You | Planeswalker$ True | SpellDescription$ Create a 2/2 green Wolf creature token.
SVar:DamageThis:DB$ DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y | References$ Y
SVar:Y:Targeted$CardPower
SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Transform
@@ -19,11 +19,10 @@ ManaCost:no cost
Colors:green,black
Types:Legendary Planeswalker Garruk
Loyalty:3
A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | TokenAmount$ 1 | TokenName$ Wolf | TokenImage$ b 1 1 wolf |TokenColors$ Black | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Deathtouch | Planeswalker$ True | SpellDescription$ Create a 1/1 black Wolf creature token with deathtouch.
A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | TokenAmount$ 1 | TokenScript$ b_1_1_wolf_deathtouch | TokenOwner$ You | Planeswalker$ True | SpellDescription$ Create a 1/1 black Wolf creature token with deathtouch.
A:AB$ Sacrifice | Cost$ SubCounter<1/LOYALTY> | Defined$ You | SacValid$ Creature | SacMessage$ Creature | SubAbility$ DBSearch | Planeswalker$ True | RememberSacrificed$ True | SpellDescription$ Sacrifice a creature. If you do, search your library for a creature card, reveal it, put it into your hand, then shuffle your library.
A:AB$ PumpAll | Cost$ SubCounter<3/LOYALTY> | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ X | NumDef$ X | Planeswalker$ True | Ultimate$ True | References$ X | SpellDescription$ Creatures you control gain trample and get +X/+X until end of turn, where X is the number of creature cards in your graveyard.
SVar:X:Count$TypeInYourYard.Creature
SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature | ChangeNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature | ChangeNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Picture:http://www.wizards.com/global/images/magic/general/garruk_the_veil_cursed.jpg
Oracle:[+1]: Create a 1/1 black Wolf creature token with deathtouch.\n[-1]: Sacrifice a creature. If you do, search your library for a creature card, reveal it, put it into your hand, then shuffle your library.\n[-3]: Creatures you control gain trample and get +X/+X until end of turn, where X is the number of creature cards in your graveyard.

View File

@@ -14,8 +14,7 @@ Name:Take
ManaCost:2 U
Types:Sorcery
A:SP$ RemoveCounter | Cost$ 2 U | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to remove counters | CounterType$ P1P1 | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBDraw | SpellDescription$ Remove all +1/+1 counters from target creature you control. Draw that many cards.
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X
SVar:X:Count$RememberedSize
AI:RemoveDeck:All
Oracle:Remove all +1/+1 counters from target creature you control. Draw that many cards.\nFuse (You may cast one or both halves of this card from your hand.)

View File

@@ -5,8 +5,7 @@ K:Entwine:2 R
A:SP$ Charm | Cost$ 3 R | Choices$ DBGainControl,DBSac | CharmNum$ 1
SVar:DBGainControl:DB$ GainControl | ValidTgts$ Creature | TgtPrompt$ Select target creature to gain control of | LoseControl$ EOT | AddKWs$ Haste | SpellDescription$ Until end of turn, you gain control of target creature and it gains haste.
SVar:DBSac:DB$ Sacrifice | Amount$ 1 | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ GrabDmg | SpellDescription$ Sacrifice a creature, then CARDNAME deals damage equal to that creature's power to any target.
SVar:GrabDmg:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target to deal the damage to | NumDmg$ X | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:GrabDmg:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target to deal the damage to | NumDmg$ X | References$ X
SVar:X:RememberedLKI$CardPower
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/grab_the_reins.jpg

View File

@@ -4,10 +4,10 @@ Types:Land
A:AB$ Mana | Cost$ T | Produced$ G | SpellDescription$ Add {G}.
A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Target creature gets +1/+1 until end of turn.
R:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ PayBeforeETB | Description$ If CARDNAME would enter the battlefield, sacrifice a Forest instead. If you do, put CARDNAME onto the battlefield. If you don't, put it into its owner's graveyard.
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Forest | Defined$ You | RememberSacrificed$ True | SubAbility$ MoveToGraveyard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ MoveToBattlefield
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Forest | Defined$ You | RememberSacrificed$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | TrueSubAbility$ MoveToBattlefield | FalseSubAbility$ MoveToGraveyard
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard
SVar:X:Remembered$Amount
SVar:NeedsToPlay:Forest.YouCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/heart_of_yavimaya.jpg

View File

@@ -3,8 +3,7 @@ ManaCost:1
Types:Artifact Creature Insect
PT:1/1
A:AB$ RemoveCounter | Cost$ X PB | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | RememberRemoved$ True | SubAbility$ DBPump | References$ X | SpellDescription$ Remove up to X counters from target permanent. For each counter removed this way, CARDNAME gets +1/+0 until end of turn.
SVar:DBPump:DB$Pump | NumAtt$ +Y | Defined$ Self | SubAbility$ DBCleanup | References$ Y
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBPump:DB$Pump | NumAtt$ +Y | Defined$ Self | References$ Y
SVar:X:Count$xPaid
SVar:Y:Count$RememberedSize
AI:RemoveDeck:All

View File

@@ -3,8 +3,7 @@ ManaCost:1 B R
AlternateMode: Split
Types:Instant
A:SP$ Sacrifice | Cost$ 1 B R | ValidTgts$ Player | SacValid$ Creature,Artifact | SacMessage$ Creature or Artifact | RememberSacrificed$ True | SubAbility$ DBDmg | SpellDescription$ Target player sacrifices an artifact or creature. Hit deals damage to that player equal to that permanent's converted mana cost.
SVar:DBDmg:DB$ DealDamage | NumDmg$ X | References$ X | Defined$ Targeted | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDmg:DB$ DealDamage | NumDmg$ X | References$ X | Defined$ Targeted
SVar:X:Remembered$CardManaCost
SVar:Picture:http://www.wizards.com/global/images/magic/general/hitrun.jpg
Oracle:Target player sacrifices an artifact or creature. Hit deals damage to that player equal to that permanent's converted mana cost.

View File

@@ -2,12 +2,10 @@ Name:Ib Halfheart, Goblin Tactician
ManaCost:3 R
Types:Legendary Creature Goblin Advisor
PT:3/2
A:AB$ Token | Cost$ Sac<2/Mountain> | TokenAmount$ 2 | TokenPower$ 1 | TokenName$ Goblin | TokenToughness$ 1 | TokenColors$ Red | TokenTypes$ Creature,Goblin | TokenOwner$ You | TokenImage$ r 1 1 goblin TSP | SpellDescription$ Create two 1/1 red Goblin creature tokens.
A:AB$ Token | Cost$ Sac<2/Mountain> | TokenAmount$ 2 | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ Create two 1/1 red Goblin creature tokens.
T:Mode$ AttackerBlocked | ValidCard$ Goblin.YouCtrl+Other | Execute$ HalfHeartTrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever another Goblin you control becomes blocked, sacrifice it. If you do, it deals 4 damage to each creature blocking it.
SVar:HalfHeartTrigSacrifice:DB$ Sacrifice | SacValid$ TriggeredAttacker | RememberSacrificed$ True | SubAbility$ HalfHeartDBDamage
SVar:HalfHeartDBDamage:DB$ DealDamage | DamageSource$ TriggeredAttacker | NumDmg$ 4 | Defined$ TriggeredBlockers | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:HalfHeartDBDamage:DB$ DealDamage | DamageSource$ TriggeredAttacker | NumDmg$ 4 | Defined$ TriggeredBlockers | ConditionDefined$ Remembered | ConditionPresent$ Card
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/ib_halfheart_goblin_tactician.jpg
Oracle:Whenever another Goblin you control becomes blocked, sacrifice it. If you do, it deals 4 damage to each creature blocking it.\nSacrifice two Mountains: Create two 1/1 red Goblin creature tokens.

View File

@@ -3,11 +3,9 @@ ManaCost:no cost
Types:Plane Azgol
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Command | Execute$ SacToIdol | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. If you can't, planeswalk.
SVar:SacToIdol:DB$ Sacrifice | Defined$ You | SacValid$ Creature | SubAbility$ IdolWalk | RememberSacrificed$ True
SVar:IdolWalk:DB$ Planeswalk | ConditionCheckSVar$ IdolX | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup | References$ IdolX
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:IdolX:Remembered$Amount
SVar:IdolWalk:DB$ Planeswalk | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll {CHAOS}, any number of target players each create a 2/2 black Zombie creature token.
SVar:RolledChaos:DB$ Token | ValidTgts$ Player | TgtPrompt$ Select target player to receive zombie token | TargetMin$ 0 | TargetMax$ MaxTgt | References$ MaxTgt | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ Targeted | TokenAmount$ 1 | TokenImage$ b 2 2 zombie ISD | TokenAltImages$ b_2_2_zombie2_ISD,b_2_2_zombie3_ISD
SVar:RolledChaos:DB$ Token | ValidTgts$ Player | TgtPrompt$ Select target player to receive zombie token | TargetMin$ 0 | TargetMax$ MaxTgt | References$ MaxTgt | TokenOwner$ Targeted | TokenAmount$ 1 | TokenScript$ b_2_2_zombie
SVar:MaxTgt:PlayerCountPlayers$Amount
SVar:Picture:http://www.wizards.com/global/images/magic/general/lair_of_the_ashen_idol.jpg
Oracle:At the beginning of your upkeep, sacrifice a creature. If you can't, planeswalk.\nWhenever you roll {CHAOS}, any number of target players each create a 2/2 black Zombie creature token.

View File

@@ -2,8 +2,7 @@ Name:Landslide
ManaCost:R
Types:Sorcery
A:SP$ Sacrifice | Cost$ R | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Mountain | RememberSacrificed$ True | Optional$ True | SubAbility$ DBDamage | SpellDescription$ Sacrifice any number of Mountains. CARDNAME deals that much damage to target player or planeswalker.
SVar:DBDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | NumDmg$ DmgX | References$ DmgX | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | NumDmg$ DmgX | References$ DmgX
SVar:SacX:Count$Valid Mountain.YouCtrl
SVar:DmgX:Remembered$Amount
AI:RemoveDeck:All

View File

@@ -2,8 +2,7 @@ Name:Last-Ditch Effort
ManaCost:R
Types:Instant
A:SP$ Sacrifice | Cost$ R | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Creature | RememberSacrificed$ True | Optional$ True | SubAbility$ DBDamage | SpellDescription$ Sacrifice any number of creatures. CARDNAME deals that much damage to any target.
SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ DmgX | References$ DmgX | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ DmgX | References$ DmgX
SVar:SacX:Count$Valid Creature.YouCtrl
SVar:DmgX:Remembered$Amount
AI:RemoveDeck:All

View File

@@ -7,9 +7,7 @@ K:Trample
K:Morph:B B B B
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature other than CARDNAME. If you can't, CARDNAME deals 7 damage to you.
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ Creature.Other | SubAbility$ DBDamage | RememberSacrificed$ True
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 7 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 7 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/liege_of_the_pit.jpg
Oracle:Flying, trample\nAt the beginning of your upkeep, sacrifice a creature other than Liege of the Pit. If you can't, Liege of the Pit deals 7 damage to you.\nMorph {B}{B}{B}{B} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)

View File

@@ -5,9 +5,8 @@ T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$
SVar:TrigPutCounter:DB$PutCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 | ConditionPresent$ Card.StrictlySelf
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_GE5_CHARGE | Execute$ DBRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, if CARDNAME has five or more charge counters on it, remove all of them from it and create that many 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.
SVar:DBRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenImage$ r 3 1 elemental MRD | TokenName$ Elemental | TokenColors$ Red | TokenTypes$ Creature,Elemental | TokenKeywords$ Haste | TokenSVars$ EOTExile | TokenPower$ 3 | TokenToughness$ 1 | AtEOT$ Exile | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ r_3_1_elemental_haste | TokenSVars$ EOTExile | TokenPower$ 3 | TokenToughness$ 1 | AtEOT$ Exile | References$ X
SVar:EOTExile:SVar:EndOfTurnLeavePlay:True
SVar:X:Count$RememberedSize
DeckHas:Ability$Counters & Ability$Token
SVar:Picture:http://www.wizards.com/global/images/magic/general/lightning_coils.jpg
Oracle:Whenever a nontoken creature you control dies, put a charge counter on Lightning Coils.\nAt the beginning of your upkeep, if Lightning Coils has five or more charge counters on it, remove all of them from it and create that many 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.

View File

@@ -6,9 +6,7 @@ K:Flying
K:Trample
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature other than CARDNAME. If you can't, CARDNAME deals 7 damage to you.
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ Creature.Other | SubAbility$ DBDamage | RememberSacrificed$ True
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 7 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 7 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/lord_of_the_pit.jpg
Oracle:Flying, trample\nAt the beginning of your upkeep, sacrifice a creature other than Lord of the Pit. If you can't, Lord of the Pit deals 7 damage to you.

View File

@@ -3,10 +3,10 @@ ManaCost:no cost
Types:Land
A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 3 | SpellDescription$ Add three mana of any one color.
R:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ PayBeforeETB | Description$ If CARDNAME would enter the battlefield, sacrifice two untapped lands instead. If you do, put CARDNAME onto the battlefield. If you don't, put it into its owner's graveyard.
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Land.untapped | Defined$ You | RememberSacrificed$ True | Amount$ 2 | StrictAmount$ True | SubAbility$ MoveToGraveyard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 | References$ X | SubAbility$ MoveToBattlefield
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Land.untapped | Defined$ You | RememberSacrificed$ True | Amount$ 2 | StrictAmount$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE2 | References$ X | TrueSubAbility$ MoveToBattlefield | FalseSubAbility$ MoveToGraveyard
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard
SVar:X:Remembered$Amount
SVar:NeedsToPlayVar:Z GE2
SVar:Z:Count$Valid Land.YouCtrl+untapped+inZoneBattlefield

View File

@@ -5,8 +5,7 @@ PT:0/0
K:etbCounter:P1P1:5
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ SelfDestruct | TriggerDescription$ At the beginning of your upkeep, you may remove a +1/+1 counter from CARDNAME. If you don't, sacrifice CARDNAME and it deals damage equal to the number of +1/+1 counters on it to each creature without flying and each player.
SVar:SelfDestruct:DB$ Sacrifice | Defined$ Self | RememberSacrificed$ True | UnlessCost$ SubCounter<1/P1P1> | UnlessPayer$ You | SubAbility$ LetEmHaveIt
SVar:LetEmHaveIt:DB$ DamageAll | ValidCards$ Creature.withoutFlying | ValidPlayers$ Player | NumDmg$ X | References$ X | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:LetEmHaveIt:DB$ DamageAll | ValidCards$ Creature.withoutFlying | ValidPlayers$ Player | NumDmg$ X | References$ X | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:X:Count$CardCounters.P1P1
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/magmasaur.jpg

View File

@@ -2,8 +2,7 @@ Name:Mana Seism
ManaCost:1 R
Types:Sorcery
A:SP$ Sacrifice | Cost$ 1 R | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Land | RememberSacrificed$ True | Optional$ True | SubAbility$ DBMana | SpellDescription$ Sacrifice any number of lands. Add {C} for each land sacrificed this way.
SVar:DBMana:DB$ Mana | Produced$ C | Amount$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBMana:DB$ Mana | Produced$ C | Amount$ X | References$ X
SVar:SacX:Count$Valid Land.YouCtrl
SVar:X:Remembered$Amount
AI:RemoveDeck:All

View File

@@ -5,8 +5,8 @@ PT:0/0
K:etbCounter:P1P1:5
T:Mode$ SpellCast | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ Whenever a player casts a spell, remove a +1/+1 counter from CARDNAME. If you do, create a 2/2 black Zombie creature token.
SVar:TrigRemoveCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenName$ Zombie | TokenTypes$ Creature,Zombie | TokenColors$ Black | TokenPower$ 2 | TokenToughness$ 2 | TokenImage$ b 2 2 zombie SOI | TokenOwner$ You | ConditionCheckSVar$ CounterX | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_2_2_zombie | TokenOwner$ You | ConditionCheckSVar$ CounterX | ConditionSVarCompare$ GE1
SVar:CounterX:Count$RememberedSize
DeckHas:Ability$Counters & Ability$Token
SVar:Picture:http://www.wizards.com/global/images/magic/general/noosegraf_mob.jpg
Oracle:Noosegraf Mob enters the battlefield with five +1/+1 counters on it.\nWhenever a player casts a spell, remove a +1/+1 counter from Noosegraf Mob. If you do, create a 2/2 black Zombie creature token.
Oracle:Noosegraf Mob enters the battlefield with five +1/+1 counters on it.\nWhenever a player casts a spell, remove a +1/+1 counter from Noosegraf Mob. If you do, create a 2/2 black Zombie creature token.

View File

@@ -4,8 +4,7 @@ Types:Creature Ogre Warrior
PT:3/1
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigOgreMarauderSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, it gains "Ogre Marauder can't be blocked" until end of turn unless defending player sacrifices a creature.
SVar:TrigOgreMarauderSacrifice:DB$ Sacrifice | SacValid$ Creature | Defined$ DefendingPlayer | Optional$ True | RememberSacrificed$ True | SubAbility$ DBOgreMarauderPump
SVar:DBOgreMarauderPump:DB$ Pump | Defined$ Self | KW$ HIDDEN Unblockable | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ0 | SubAbility$ DBOgreMarauderCleanup
SVar:DBOgreMarauderCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBOgreMarauderPump:DB$ Pump | Defined$ Self | KW$ HIDDEN Unblockable | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ0
SVar:HasAttackEffect:TRUE
AI:RemoveDeck:All
AI:RemoveDeck:Random

View File

@@ -8,8 +8,7 @@ SVar:DBRemovePlagueCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ PLAG
SVar:DBPutPlagueCounter:DB$ PutCounter | Defined$ Self | CounterType$ PLAGUE | CounterNum$ 1 | SpellDescription$ Put a plague counter on this card.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE3_PLAGUE | Execute$ TrigSac | TriggerDescription$ When CARDNAME has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents.
SVar:TrigSac:DB$ Sacrifice | Defined$ Self | RememberSacrificed$ True | SubAbility$ DBDestroyAll
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.nonLand | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.nonLand | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/plague_boiler.jpg
Oracle:At the beginning of your upkeep, put a plague counter on Plague Boiler.\n{1}{B}{G}: Put a plague counter on Plague Boiler or remove a plague counter from it.\nWhen Plague Boiler has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents.

View File

@@ -4,8 +4,7 @@ Types:Instant
K:Entwine:B
A:SP$ Charm | Cost$ 1 B | Choices$ DBSac,DBChooseNumber | CharmNum$ 1
SVar:DBSac:DB$ Sacrifice | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Creature | RememberSacrificed$ True | Optional$ True | SubAbility$ DBGainLife | SpellDescription$ Sacrifice any number of creatures, then you gain 3 life for each sacrificed creature.
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ GainLifeX | References$ GainLifeX | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ GainLifeX | References$ GainLifeX
SVar:SacX:Count$Valid Creature.YouCtrl
SVar:GainLifeX:Count$RememberedSize/Thrice
SVar:DBChooseNumber:DB$ ChooseNumber | Defined$ You | ListTitle$ Pay X life? | Max$ LifeAmountX | AILogic$ DigACard | References$ LifeAmountX | SubAbility$ DBLoseLife | SpellDescription$ Pay X life, then look at the top X cards of your library. Put one of those cards into your hand, and exile the rest.

View File

@@ -2,9 +2,7 @@ Name:Promise of Bunrei
ManaCost:2 W
Types:Enchantment
T:Mode$ ChangesZone | ValidCard$ Creature.YouCtrl | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When a creature you control dies, sacrifice CARDNAME. If you do, create four 1/1 colorless Spirit creature tokens.
SVar:TrigSac:DB$ SacrificeAll | ValidCards$ Card.Self | RememberSacrificed$ True | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ 4 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:TrigSac:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ 4 | TokenScript$ c_1_1_spirit | TokenOwner$ You | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Picture:http://www.wizards.com/global/images/magic/general/promise_of_bunrei.jpg
Oracle:When a creature you control dies, sacrifice Promise of Bunrei. If you do, create four 1/1 colorless Spirit creature tokens.

View File

@@ -18,9 +18,7 @@ K:Flying
K:Trample
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a Human. If you can't, tap CARDNAME and it deals 9 damage to you.
SVar:TrigSac:DB$Sacrifice | Defined$ You | SacValid$ Creature.Human | SubAbility$ DBTap | RememberSacrificed$ True
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBDamage | References$ X
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 9 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBTap:DB$ Tap | Defined$ Self | SubAbility$ DBDamage | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 9 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
SVar:Picture:http://www.wizards.com/global/images/magic/general/archdemon_of_greed.jpg
Oracle:Flying, trample\nAt the beginning of your upkeep, sacrifice a Human. If you can't, tap Archdemon of Greed and it deals 9 damage to you.

View File

@@ -6,8 +6,7 @@ K:Flying
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may sacrifice a nonartifact creature. If you do, put a +1/+1 counter on CARDNAME. If you don't, tap CARDNAME.
SVar:TrigSacrifice:DB$ Sacrifice | Optional$ True | SacValid$ Creature.nonArtifact | Amount$ 1 | RememberSacrificed$ True | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Creature.nonArtifact | ConditionCompare$ GE1 | SubAbility$ DBTap
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Creature.nonArtifact | ConditionCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Creature.nonArtifact | ConditionCompare$ EQ0
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/ravenous_vampire.jpg
Oracle:Flying\nAt the beginning of your upkeep, you may sacrifice a nonartifact creature. If you do, put a +1/+1 counter on Ravenous Vampire. If you don't, tap Ravenous Vampire.

View File

@@ -2,8 +2,7 @@ Name:Renounce
ManaCost:1 W
Types:Instant
A:SP$ Sacrifice | Cost$ 1 W | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Permanent | RememberSacrificed$ True | Optional$ True | SubAbility$ DBGainLife | SpellDescription$ Sacrifice any number of permanents. You gain 2 life for each permanent sacrificed this way.
SVar:DBGainLife:DB$GainLife | LifeAmount$ LifeX | References$ LifeX | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$GainLife | LifeAmount$ LifeX | References$ LifeX
SVar:SacX:Count$Valid Permanent.YouCtrl
SVar:LifeX:Remembered$Amount.Twice
AI:RemoveDeck:All

View File

@@ -2,8 +2,7 @@ Name:Reprocess
ManaCost:2 B B
Types:Sorcery
A:SP$ Sacrifice | Cost$ 2 B B | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Artifact,Creature,Land | RememberSacrificed$ True | Optional$ True | SubAbility$ DBDraw | SpellDescription$ Sacrifice any number of artifacts, creatures, and/or lands. Draw a card for each permanent sacrificed this way.
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ DrawX | References$ DrawX | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ DrawX | References$ DrawX
SVar:SacX:Count$Valid Artifact.YouCtrl,Creature.YouCtrl,Land.YouCtrl
SVar:DrawX:Remembered$Amount
AI:RemoveDeck:All

View File

@@ -2,12 +2,7 @@ Name:Rite of Belzenlok
ManaCost:2 B B
Types:Enchantment Saga
K:Saga:3:TrigTokenCleric,TrigTokenCleric,TrigTokenDemon
SVar:TrigTokenCleric:DB$ Token | TokenOwner$ You | TokenAmount$ 2 | TokenName$ Cleric | TokenTypes$ Creature,Cleric | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 1 | TokenImage$ b 0 1 cleric DOM | SpellDescription$ Create two 0/1 black Cleric creature tokens.
SVar:TrigTokenDemon:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenName$ Demon | TokenTypes$ Creature,Demon | TokenColors$ Black | TokenPower$ 6 | TokenToughness$ 6 | TokenKeywords$ Flying<>Trample | TokenTriggers$ DemonUpkeepTrigger | TokenSVars$ DemonTrigSac,DemonDBDamage,DemonDBCleanup,X | TokenImage$ b 6 6 demon DOM | SpellDescription$ Create a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you."
SVar:DemonUpkeepTrigger:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ DemonTrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you.
SVar:DemonTrigSac:DB$ Sacrifice | Defined$ You | SacValid$ Creature.Other | SubAbility$ DemonDBDamage | RememberSacrificed$ True |
SVar:DemonDBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 6 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DemonDBCleanup | References$ X
SVar:DemonDBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:TrigTokenCleric:DB$ Token | TokenOwner$ You | TokenAmount$ 2 | TokenScript$ b_0_1_cleric | SpellDescription$ Create two 0/1 black Cleric creature tokens.
SVar:TrigTokenDemon:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenScript$ b_6_6_demon_flying_trample_sacrifice | SpellDescription$ Create a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you."
AI:RemoveDeck:Random
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI, II - Create two 0/1 black Cleric creature tokens.\nIII - Create a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you."
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI, II - Create two 0/1 black Cleric creature tokens.\nIII - Create a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you."

View File

@@ -2,8 +2,7 @@ Name:Rupture
ManaCost:2 R
Types:Sorcery
A:SP$ Sacrifice | Cost$ 2 R | Amount$ 1 | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ RuptureDmg | SpellDescription$ Sacrifice a creature. CARDNAME deals damage equal to that creature's power to each creature without flying and each player.
SVar:RuptureDmg:DB$ DamageAll | ValidCards$ Creature.withoutFlying | ValidPlayers$ Player | NumDmg$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RuptureDmg:DB$ DamageAll | ValidCards$ Creature.withoutFlying | ValidPlayers$ Player | NumDmg$ X | References$ X
SVar:X:RememberedLKI$CardPower
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/rupture.jpg

View File

@@ -5,10 +5,8 @@ PT:4/4
K:Flying
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice an artifact other than CARDNAME. If you can't, tap CARDNAME and you lose 4 life.
SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ Artifact.Other | SubAbility$ DBTap | RememberSacrificed$ True
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBLoseLife | References$ X
SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 4 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0 | SubAbility$ DBLoseLife
SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 4 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/rust_elemental.jpg
Oracle:Flying\nAt the beginning of your upkeep, sacrifice an artifact other than Rust Elemental. If you can't, tap Rust Elemental and you lose 4 life.

View File

@@ -2,8 +2,7 @@ Name:Scapeshift
ManaCost:2 G G
Types:Sorcery
A:SP$ Sacrifice | Cost$ 2 G G | Defined$ You | Amount$ SacX | References$ SacX | SacValid$ Land | RememberSacrificed$ True | Optional$ True | SubAbility$ DBShift | SpellDescription$ Sacrifice any number of lands. Search your library for up to that many land cards, put them onto the battlefield tapped, then shuffle your library.
SVar:DBShift:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ ShiftX | References$ ShiftX | Tapped$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBShift:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ ShiftX | References$ ShiftX | Tapped$ True
SVar:SacX:Count$Valid Land.YouCtrl
SVar:ShiftX:Remembered$Amount
AI:RemoveDeck:All

View File

@@ -3,10 +3,10 @@ ManaCost:no cost
Types:Land
A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 4 | SpellDescription$ Add {C}{C}{C}{C}.
R:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ PayBeforeETB | Description$ If CARDNAME would enter the battlefield, sacrifice two untapped lands instead. If you do, put CARDNAME onto the battlefield. If you don't, put it into its owner's graveyard.
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Land.untapped | Defined$ You | RememberSacrificed$ True | Amount$ 2 | StrictAmount$ True | SubAbility$ MoveToGraveyard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ LT2 | SubAbility$ MoveToBattlefield
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ GE2 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Land.untapped | Defined$ You | RememberSacrificed$ True | Amount$ 2 | StrictAmount$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE2 | References$ X | TrueSubAbility$ MoveToBattlefield | FalseSubAbility$ MoveToGraveyard
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard
SVar:X:Remembered$Amount
SVar:NeedsToPlayVar:Y GE2
SVar:Y:Count$Valid Land.YouCtrl+untapped

View File

@@ -2,7 +2,6 @@ Name:Self-Inflicted Wound
ManaCost:1 B
Types:Sorcery
A:SP$ Sacrifice | Cost$ 1 B | ValidTgts$ Player.Opponent | SacValid$ Creature.White,Creature.Green | SacMessage$ Green or White Creature | RememberSacrificed$ True | SubAbility$ DBDrain | SpellDescription$ Target opponent sacrifices a green or white creature. If that player does, they lose 2 life.
SVar:DBDrain:DB$ LoseLife | Defined$ Targeted | LifeAmount$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDrain:DB$ LoseLife | Defined$ Targeted | LifeAmount$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Picture:http://www.wizards.com/global/images/magic/general/self_inflicted_wound.jpg
Oracle:Target opponent sacrifices a green or white creature. If that player does, they lose 2 life.

View File

@@ -5,8 +5,7 @@ PT:5/6
K:Flying
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac2 | TriggerDescription$ At the beginning of your upkeep, sacrifice a land. If you sacrifice an Island this way, CARDNAME deals 3 damage to you.
SVar:TrigSac2:DB$ Sacrifice | Defined$ You | SacValid$ Land | RememberSacrificed$ True | SubAbility$ Dmg
SVar:Dmg:DB$ DealDamage | NumDmg$ 3 | Defined$ You | ConditionDefined$ Remembered | ConditionPresent$ Card.Island | ConditionCompare$ EQ1 | SubAbility$ Clean
SVar:Clean:DB$ Cleanup | ClearRemembered$ True
SVar:Dmg:DB$ DealDamage | NumDmg$ 3 | Defined$ You | ConditionDefined$ Remembered | ConditionPresent$ Card.Island | ConditionCompare$ EQ1
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Land.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no lands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice | Defined$ Self
SVar:NeedsToPlay:Island.YouCtrl

View File

@@ -2,11 +2,9 @@ Name:Shimatsu the Bloodcloaked
ManaCost:3 R
Types:Legendary Creature Demon Spirit
PT:0/0
R:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ TrigSac | Description$ As CARDNAME enters the battlefield, sacrifice any number of permanents. Shimatsu enters the battlefield with that many +1/+1 counters on it.
SVar:TrigSac:DB$ Sacrifice | Amount$ SacX | References$ SacX | SacValid$ Permanent | Defined$ You | RememberSacrificed$ True | Optional$ True | SubAbility$ DBPutcounter
SVar:DBPutcounter:DB$ PutCounter | ETB$ True | CounterType$ P1P1 | Defined$ Self | CounterNum$ X | References$ X | SubAbility$ MoveToPlay
SVar:MoveToPlay:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ All | Destination$ Battlefield | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:ETBReplacement:Other:TrigSac
SVar:TrigSac:DB$ Sacrifice | Amount$ SacX | References$ SacX | SacValid$ Permanent | Defined$ You | RememberSacrificed$ True | Optional$ True | SubAbility$ DBPutcounter | SpellDescription$ As CARDNAME enters the battlefield, sacrifice any number of permanents. Shimatsu enters the battlefield with that many +1/+1 counters on it.
SVar:DBPutcounter:DB$ PutCounter | ETB$ True | CounterType$ P1P1 | Defined$ Self | CounterNum$ X | References$ X
SVar:SacX:Count$Valid Permanent.YouCtrl
SVar:X:Remembered$Amount
AI:RemoveDeck:All

View File

@@ -4,10 +4,10 @@ Types:Land
A:AB$ Mana | Cost$ T | Produced$ C U | SpellDescription$ Add {C}{U}.
A:AB$ Scry | Cost$ 1 T | ScryNum$ 1 | SpellDescription$ Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
R:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ PayBeforeETB | Description$ If CARDNAME would enter the battlefield, sacrifice an untapped Island instead. If you do, put CARDNAME onto the battlefield. If you don't, put it into its owner's graveyard.
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Island.untapped | Defined$ You | RememberSacrificed$ True | SubAbility$ MoveToGraveyard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ MoveToBattlefield
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Island.untapped | Defined$ You | RememberSacrificed$ True | SubAbility$ DBBranch
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | TrueSubAbility$ MoveToBattlefield | FalseSubAbility$ MoveToGraveyard
SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard
SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard
SVar:X:Remembered$Amount
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/soldevi_excavations.jpg

View File

@@ -5,8 +5,7 @@ A:SP$ GainControl | Cost$ 3 U U B | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$
SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Keywords$ Haste | sVars$ SneakAttackEOT | SubAbility$ DelTrig
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End Of Turn | Execute$ TrigSac | RememberObjects$ Targeted | TriggerDescription$ At the beginning of the next end step, sacrifice it. If you do, you gain life equal to its toughness. | AILogic$ Always | ConditionDefined$ Targeted | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:TrigSac:DB$ SacrificeAll | Defined$ DelayTriggerRemembered | Controller$ You | RememberSacrificed$ True | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | References$ X | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:X:RememberedLKI$CardToughness
SVar:SneakAttackEOT:SVar:EndOfTurnLeavePlay:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/spinal_embrace.jpg

View File

@@ -3,9 +3,7 @@ ManaCost:1 U
Types:Enchantment
T:Mode$ SpellCast | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ When a player casts a spell, sacrifice CARDNAME. If you do, each of that player's opponents draws three cards.
SVar:TrigSac:DB$ Sacrifice | SacValid$ Self | RememberSacrificed$ True | SubAbility$ DrawOpp
SVar:DrawOpp:DB$ Draw | NumCards$ 3 | Defined$ TriggeredCardOpponent | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DrawOpp:DB$ Draw | NumCards$ 3 | Defined$ TriggeredCardOpponent | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Y:Count$Valid Creature.YouCtrl
SVar:Z:Count$Valid Creature.OppCtrl
SVar:NeedsToPlayVar:Y GTZ

View File

@@ -2,8 +2,7 @@ Name:Syphon Flesh
ManaCost:4 B
Types:Sorcery
A:SP$ Sacrifice | Cost$ 4 B | Defined$ Player.Other | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ Each other player sacrifices a creature. You create a 2/2 black Zombie creature token for each creature sacrificed this way.
SVar:DBToken:DB$ Token | TokenImage$ b 2 2 zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBToken:DB$ Token | TokenScript$ b_2_2_zombie | TokenOwner$ You | TokenAmount$ X | References$ X
SVar:X:Remembered$Amount
SVar:Picture:http://www.wizards.com/global/images/magic/general/syphon_flesh.jpg
Oracle:Each other player sacrifices a creature. You create a 2/2 black Zombie creature token for each creature sacrificed this way.

View File

@@ -4,9 +4,7 @@ Types:Creature Thalakos Wizard
PT:1/1
K:Shadow
T:Mode$ AttackerUnblocked | ValidCard$ Card.Self | Execute$ TrigSacrifice | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks and isn't blocked, you may sacrifice it. If you do, gain control of target creature. (This effect lasts indefinitely.)
SVar:TrigSacrifice:DB$ SacrificeAll | ValidCards$ Card.Self | RememberSacrificed$ True | SubAbility$ DBGainControl
SVar:DBGainControl:DB$ GainControl | ValidTgts$ Creature | TgtPrompt$ Select target creature | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:TrigSacrifice:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBGainControl
SVar:DBGainControl:DB$ GainControl | ValidTgts$ Creature | TgtPrompt$ Select target creature | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:Picture:http://www.wizards.com/global/images/magic/general/thalakos_deceiver.jpg
Oracle:Shadow (This creature can block or be blocked by only creatures with shadow.)\nWhenever Thalakos Deceiver attacks and isn't blocked, you may sacrifice it. If you do, gain control of target creature. (This effect lasts indefinitely.)

View File

@@ -5,7 +5,6 @@ K:Saga:3:TrigDamageAll,TrigMana,TrigSac
SVar:TrigDamageAll:DB$ DamageAll | NumDmg$ 1 | ValidCards$ Creature.withoutFlying | ValidDescription$ Each creature without flying. | SpellDescription$ CARDNAME deals 1 damage to each creature without flying.
SVar:TrigMana:DB$ Mana | Produced$ R | Amount$ 2 | AILogic$ ManaRitual | AINoRecursiveCheck$ True | SpellDescription$ Add {R}{R}.
SVar:TrigSac:DB$ Sacrifice | SacValid$ Mountain | RememberSacrificed$ True | StackDescription$ SpellDescription | SubAbility$ DBDamageAll | SpellDescription$ Sacrifice a Mountain. If you do, CARDNAME deals 3 damage to each creature.
SVar:DBDamageAll:DB$ DamageAll | NumDmg$ 3 | ValidCards$ Creature | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDamageAll:DB$ DamageAll | NumDmg$ 3 | ValidCards$ Creature | ConditionDefined$ Remembered | ConditionPresent$ Card | StackDescription$ None
SVar:X:Remembered$Amount
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — The First Eruption deals 1 damage to each creature without flying.\nII — Add {R}{R}.\nIII — Sacrifice a Mountain. If you do, The First Eruption deals 3 damage to each creature.

View File

@@ -4,10 +4,9 @@ Types:Creature Vampire
PT:1/1
K:Flying
K:ETBReplacement:Other:DBRemoveCounterAll
SVar:DBRemoveCounterAll:DB$ RemoveCounterAll | ValidCards$ Permanent | AllCounterTypes$ True | StackDescription$ SpellDescription | SubAbility$ DBPutCounters| RememberAmount$ True | SpellDescription$ As CARDNAME enters the battlefield, remove all counters from all permanents. CARDNAME enters the battlefield with a +1/+1 counter on it for each counter removed this way.
SVar:DBPutCounters:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$ChosenNumber
SVar:DBRemoveCounterAll:DB$ RemoveCounterAll | ValidCards$ Permanent | AllCounterTypes$ True | StackDescription$ SpellDescription | SubAbility$ DBPutCounters | RememberAmount$ True | SpellDescription$ As CARDNAME enters the battlefield, remove all counters from all permanents. CARDNAME enters the battlefield with a +1/+1 counter on it for each counter removed this way.
SVar:DBPutCounters:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X
SVar:X:Count$RememberedNumber
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/thief_of_blood.jpg
Oracle:Flying\nAs Thief of Blood enters the battlefield, remove all counters from all permanents. Thief of Blood enters the battlefield with a +1/+1 counter on it for each counter removed this way.

View File

@@ -6,8 +6,7 @@ K:Flying
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigTarget | TriggerDescription$ Whenever CARDNAME attacks, for each player, choose target permanent that player controls. Those players sacrifice those permanents. Each player who sacrificed a permanent this way reveals the top card of their library, then puts it onto the battlefield if it's a permanent card.
SVar:TrigTarget:DB$ Pump | ValidTgts$ Permanent | TgtPrompt$ Select target permanent a player controls to be sacrificed. | TargetMin$ OneEach | TargetMax$ OneEach | References$ OneEach | TargetsWithDifferentControllers$ True | SubAbility$ DBSacrificeAll | AILogic$ SacOneEach
SVar:DBSacrificeAll:DB$ SacrificeAll | Defined$ Targeted | RememberSacrificed$ True | SubAbility$ DBRepeatEach
SVar:DBRepeatEach:DB$ RepeatEach | DefinedCards$ Remembered | UseImprinted$ True | RepeatSubAbility$ DBDig | SubAbility$ DBCleanup
SVar:DBRepeatEach:DB$ RepeatEach | DefinedCards$ Remembered | UseImprinted$ True | RepeatSubAbility$ DBDig
SVar:DBDig:DB$ Dig | Defined$ ImprintedController | DigNum$ 1 | Reveal$ True | DestinationZone$ Battlefield | DestinationZone2$ Library | LibraryPosition2$ 0 | ChangeNum$ All | ChangeValid$ Permanent
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:OneEach:PlayerCountPlayers$Amount
Oracle:Flying\nWhenever Vaevictis Asmadi, the Dire attacks, for each player, choose target permanent that player controls. Those players sacrifice those permanents. Each player who sacrificed a permanent this way reveals the top card of their library, then puts it onto the battlefield if it's a permanent card.
Oracle:Flying\nWhenever Vaevictis Asmadi, the Dire attacks, for each player, choose target permanent that player controls. Those players sacrifice those permanents. Each player who sacrificed a permanent this way reveals the top card of their library, then puts it onto the battlefield if it's a permanent card.

View File

@@ -2,8 +2,6 @@ Name:Victimize
ManaCost:2 B
Types:Sorcery
A:SP$ Sacrifice | Cost$ 2 B | Defined$ You | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ Rise | SpellDescription$ Choose two target creature cards in your graveyard. Sacrifice a creature. If you do, return the chosen cards to the battlefield tapped.
SVar:Rise:DB$ ChangeZone | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | Origin$ Graveyard | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X | ConditionDescription$ If you do, | Tapped$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Rise:DB$ ChangeZone | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | Origin$ Graveyard | Destination$ Battlefield | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionDescription$ If you do, | Tapped$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/victimize.jpg
Oracle:Choose two target creature cards in your graveyard. Sacrifice a creature. If you do, return the chosen cards to the battlefield tapped.

View File

@@ -4,8 +4,7 @@ Types:Legendary Planeswalker Vraska
Loyalty:4
A:AB$ Sacrifice | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | SacValid$ Permanent.Other | SacMessage$ another permanent | Optional$ True | RememberSacrificed$ True | SubAbility$ DBGainLife | SpellDescription$ You may sacrifice another permanent. If you do, you gain 1 life and draw a card.
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1 | SubAbility$ DBDraw | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card
A:AB$ Destroy | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Permanent.nonLand+cmcLE3 | TgtPrompt$ Select target nonland permanent with converted mana cost 3 or less | SpellDescription$ Destroy target nonland permanent with converted mana cost 3 or less.
A:AB$ Effect | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | Stackable$ False | Name$ Emblem - Vraska, Golgari Queen | Image$ emblem_vraska_golgari_queen | Triggers$ TrigDamage | SVars$ LoseGame | References$ TrigDamage,LoseGame | Duration$ Permanent | AILogic$ Always | SpellDescription$ You get an emblem with "Whenever a creature you control deals combat damage to a player, that player loses the game."
SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | CombatDamage$ True | Execute$ LoseGame | TriggerZones$ Command | TriggerDescription$ Whenever a creature you control deals combat damage to a player, that player loses the game.

View File

@@ -4,10 +4,8 @@ Types:Creature Merfolk Wizard
PT:4/4
K:Champion:Merfolk
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSacrifice | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice a Merfolk. If you do, take an extra turn after this one.
SVar:TrigSacrifice:DB$ Sacrifice | SacValid$ Merfolk | RememberSacrificedSVar$ NumSacrificed | SubAbility$ DBAddTurn
SVar:DBAddTurn:DB$ AddTurn | NumTurns$ 1 | ConditionCheckSVar$ NumSacrificed | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ StoreSVar | SVar$ NumSacrificed | Type$ Number | Expression$ 0
SVar:NumSacrificed:0
SVar:TrigSacrifice:DB$ Sacrifice | SacValid$ Merfolk | RememberSacrificed$ True | SubAbility$ DBAddTurn
SVar:DBAddTurn:DB$ AddTurn | NumTurns$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/wanderwine_prophets.jpg
Oracle:Champion a Merfolk (When this enters the battlefield, sacrifice it unless you exile another Merfolk you control. When this leaves the battlefield, that card returns to the battlefield.)\nWhenever Wanderwine Prophets deals combat damage to a player, you may sacrifice a Merfolk. If you do, take an extra turn after this one.

View File

@@ -6,9 +6,7 @@ K:Flying
K:Trample
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player sacrifices a creature. If the player can't, you create a 3/3 black, red, and green Cat Dragon creature token with flying.
SVar:TrigSac:DB$ Sacrifice | Defined$ TriggeredTarget | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenName$ Cat Dragon | TokenTypes$ Creature,Cat,Dragon | TokenOwner$ You | TokenColors$ Black,Red,Green | TokenPower$ 3 | TokenToughness$ 3 | TokenImage$ brg 3 3 cat dragon | TokenKeywords$ Flying | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered $ True
SVar:X:Remembered$Amount
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ brg_3_3_cat_dragon_flying | TokenOwner$ You | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
SVar:MustBeBlocked:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/wasitora_nekoru_queen.jpg
Oracle:Flying, trample\nWhenever Wasitora, Nekoru Queen deals combat damage to a player, that player sacrifices a creature. If the player can't, you create a 3/3 black, red, and green Cat Dragon creature token with flying.
Oracle:Flying, trample\nWhenever Wasitora, Nekoru Queen deals combat damage to a player, that player sacrifices a creature. If the player can't, you create a 3/3 black, red, and green Cat Dragon creature token with flying.

View File

@@ -5,10 +5,8 @@ PT:1/1
K:Flying
K:Infect
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice it. If you do, that player discards a card for each poison counter they have.
SVar:TrigSacrifice:DB$ SacrificeAll | ValidCards$ Card.Self | RememberSacrificed$ True | SubAbility$ DBDiscard
SVar:DBDiscard:DB$ Discard | Defined$ TriggeredTarget | NumCards$ X | References$ X,Y | Mode$ TgtChoose | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigSacrifice:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBDiscard
SVar:DBDiscard:DB$ Discard | Defined$ TriggeredTarget | NumCards$ X | References$ X | Mode$ TgtChoose | ConditionDefined$ Remembered | ConditionPresent$ Card
SVar:X:TriggeredTarget$PoisonCounters
SVar:Y:Remembered$Amount
SVar:Picture:http://www.wizards.com/global/images/magic/general/whispering_specter.jpg
Oracle:Flying\nInfect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)\nWhenever Whispering Specter deals combat damage to a player, you may sacrifice it. If you do, that player discards a card for each poison counter they have.

View File

@@ -2,8 +2,8 @@ Name:Wildcall
ManaCost:X G G
Types:Sorcery
A:SP$ Manifest | Cost$ X G G | Amount$ 1 | Defined$ TopOfLibrary | RememberManifested$ True | SubAbility$ TrigPutCounter | SpellDescription$ Manifest the top card of your library, then put X +1/+1 counters on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ X | References$ X
SVar:X:Count$xPaid
DeckHas:Ability$Counters
SVar:Picture:http://www.wizards.com/global/images/magic/general/wildcall.jpg
Oracle:Manifest the top card of your library, then put X +1/+1 counters on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)

View File

@@ -5,9 +5,7 @@ PT:4/4
K:Flying
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of each player's upkeep, that player sacrifices a creature. If the player can't, sacrifice CARDNAME.
SVar:TrigSac:DB$Sacrifice | Defined$ TriggeredPlayer | SacValid$ Creature | SubAbility$ DBSacSelf | RememberSacrificed$ True
SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
SVar:NeedsToPlayVar:Y GE2
SVar:Y:Count$Valid Creature.YouDontCtrl
SVar:Picture:http://www.wizards.com/global/images/magic/general/woebringer_demon.jpg

View File

@@ -3,8 +3,7 @@ ManaCost:5 W
Types:Creature Elemental
PT:3/5
A:AB$ RemoveCounter | Cost$ W T | ValidTgts$ Creature | AITgts$ Creature.counters_GE1_M1M1 | TgtPrompt$ Select target creature | CounterType$ M1M1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBGainLife | SpellDescription$ Remove a -1/-1 counter from target creature. If you do, you gain 2 life.
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditonSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditonSVarCompare$ GE1
SVar:X:Count$RememberedSize
DeckHas:Ability$LifeGain
DeckHints:Keyword$Persist

View File

@@ -6,12 +6,10 @@ K:Flying
K:Trample
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature other than CARDNAME, then each opponent loses life equal to the sacrificed creature's power. If you can't sacrifice a creature, tap CARDNAME and you lose 7 life.
SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ Creature.Other | RememberSacrificed$ True | SubAbility$ DBLoseLifeOpp
SVar:DBLoseLifeOpp:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ X | References$ X | SubAbility$ DBLoseLifeYou
SVar:DBLoseLifeYou:DB$ LoseLife | Defined$ You | LifeAmount$ 7 | ConditionCheckSVar$ Y | References$ Y | ConditionSVarCompare$ LT1 | SubAbility$ DBTap
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionCheckSVar$ Y | References$ Y | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBLoseLifeOpp:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ X | References$ X | SubAbility$ DBTap
SVar:DBTap:DB$ Tap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0 | SubAbility$ DBLoseLifeYou
SVar:DBLoseLifeYou:DB$ LoseLife | Defined$ You | LifeAmount$ 7 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
SVar:X:RememberedLKI$CardPower
SVar:Y:Remembered$Amount
SVar:NeedsToPlayVar:Z GE6
SVar:Z:Count$Valid Creature.YouCtrl
AI:RemoveDeck:Random

View File

@@ -7,8 +7,7 @@ K:First Strike
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigElderSpawnSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may sacrifice an artifact. If you don't, tap CARDNAME and it deals 2 damage to you.
SVar:TrigElderSpawnSacrifice:DB$ Sacrifice | SacValid$ Artifact | Optional$ True | RememberSacrificed$ True | SubAbility$ DBElderSpawnSacrificeMe
SVar:DBElderSpawnSacrificeMe:DB$ Tap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Artifact | ConditionCompare$ EQ0 | SubAbility$ DBElderSpawnDamage
SVar:DBElderSpawnDamage:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Artifact | ConditionCompare$ EQ0 | SubAbility$ DBElderSpawnCleanup
SVar:DBElderSpawnCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBElderSpawnDamage:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Artifact | ConditionCompare$ EQ0
SVar:NeedsToPlayVar:Z GE3
SVar:Z:Count$Valid Artifact.YouCtrl+inZoneBattlefield
AI:RemoveDeck:Random

View File

@@ -0,0 +1,6 @@
Name:Cleric
ManaCost:no cost
Types:Creature Cleric
Colors:black
PT:0/1
Oracle:

View File

@@ -0,0 +1,7 @@
Name:Wolf
ManaCost:no cost
Types:Creature Wolf
Colors:black
PT:1/1
K:Deathtouch
Oracle:Deathtouch

View File

@@ -3,4 +3,4 @@ ManaCost:no cost
Types:Creature Zombie
Colors:black
PT:2/2
Oracle:
Oracle:

View File

@@ -0,0 +1,11 @@
Name:Demon
ManaCost:no cost
Types:Creature Demon
Colors:black
PT:6/6
K:Flying
K:Trample
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ DemonTrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you.
SVar:DemonTrigSac:DB$ Sacrifice | Defined$ You | SacValid$ Creature.Other | SubAbility$ DemonDBDamage | RememberSacrificed$ True
SVar:DemonDBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 6 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0
Oracle:Flying, Trample\nAt the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you.

View File

@@ -0,0 +1,7 @@
Name:Cat Dragon
ManaCost:no cost
Types:Creature Cat Dragon
Colors:black,red,green
PT:3/3
K:Flying
Oracle:Flying

View File

@@ -0,0 +1,7 @@
Name:Construct
ManaCost:no cost
Types:Artifact Creature Construct
Colors:colorless
PT:1/1
K:Defender
Oracle:Defender

View File

@@ -0,0 +1,5 @@
Name:Spirit
ManaCost:no cost
Types:Creature Spirit
PT:1/1
Oracle:

View File

@@ -0,0 +1,6 @@
Name:Wolf
ManaCost:no cost
Types:Creature Wolf
Colors:green
PT:2/2
Oracle:

View File

@@ -0,0 +1,7 @@
Name:Elemental
ManaCost:no cost
Types:Creature Elemental
Colors:red
PT:3/1
K:Haste
Oracle:Haste

View File

@@ -0,0 +1,6 @@
Name:Soldier
ManaCost:no cost
Types:Creature Soldier
Colors:white
PT:1/1
Oracle: