Overload keyword (#4415)

* Keyword: Overload

* update more cards

* finish Overload

* ~ fix desc

* remove CounterEffect AllValid

* Fix Overload Copy

* StackDescription!

---------

Co-authored-by: Northmoc <tnorthmoc@gmail.com>
This commit is contained in:
Hans Mackowiak
2023-12-29 18:43:06 +01:00
committed by GitHub
parent e8a6121d24
commit c5ecda3774
48 changed files with 130 additions and 103 deletions

View File

@@ -1296,6 +1296,7 @@ public class AbilityUtils {
public static FCollection<SpellAbility> getDefinedSpellAbilities(final Card card, final String def, final CardTraitBase sa) {
final FCollection<SpellAbility> sas = new FCollection<>();
final String defined = (def == null) ? "Self" : applyAbilityTextChangeEffects(def, sa); // default to Self
final Player player = sa instanceof SpellAbility ? ((SpellAbility)sa).getActivatingPlayer() : card.getController();
final Game game = card.getGame();
SpellAbility s = null;
@@ -1359,6 +1360,14 @@ public class AbilityUtils {
}
}
}
} else if (defined.startsWith("ValidStack")) {
String[] valid = defined.split(" ", 2);
for (SpellAbilityStackInstance stackInstance : game.getStack()) {
SpellAbility instanceSA = stackInstance.getSpellAbility();
if (instanceSA != null && instanceSA.isValid(valid[1], player, card, s)) {
sas.add(instanceSA);
}
}
}
if (s != null) {

View File

@@ -24,28 +24,12 @@ import java.util.Map;
public class CounterEffect extends SpellAbilityEffect {
@Override
protected String getStackDescription(SpellAbility sa) {
final Game game = sa.getActivatingPlayer().getGame();
final StringBuilder sb = new StringBuilder();
final List<SpellAbility> sas;
if (sa.hasParam("AllValid")) {
sas = Lists.newArrayList();
for (SpellAbilityStackInstance si : game.getStack()) {
SpellAbility spell = si.getSpellAbility();
if (!spell.isValid(sa.getParam("AllValid").split(","), sa.getActivatingPlayer(), sa.getHostCard(), sa)) {
continue;
}
sas.add(spell);
}
} else {
sas = getTargetSpells(sa);
}
sb.append("Counter");
boolean isAbility = false;
for (final SpellAbility tgtSA : sas) {
for (final SpellAbility tgtSA : getTargetSpells(sa)) {
sb.append(" ");
sb.append(tgtSA.getHostCard());
isAbility = tgtSA.isAbility();
@@ -69,26 +53,10 @@ public class CounterEffect extends SpellAbilityEffect {
@Override
public void resolve(SpellAbility sa) {
final Game game = sa.getActivatingPlayer().getGame();
// TODO Before this resolves we should see if any of our targets are
// still on the stack
final List<SpellAbility> sas;
if (sa.hasParam("AllValid")) {
sas = Lists.newArrayList();
for (SpellAbilityStackInstance si : game.getStack()) {
SpellAbility spell = si.getSpellAbility();
if (!spell.isValid(sa.getParam("AllValid").split(","), sa.getActivatingPlayer(), sa.getHostCard(), sa)) {
continue;
}
sas.add(spell);
}
} else {
sas = getTargetSpells(sa);
}
Map<AbilityKey, Object> params = AbilityKey.newMap();
CardZoneTable table = new CardZoneTable();
for (final SpellAbility tgtSA : sas) {
for (final SpellAbility tgtSA : getTargetSpells(sa)) {
final Card tgtSACard = tgtSA.getHostCard();
// should remember even that spell cannot be countered
// currently all effects using this are targeted in case the spell gets countered before

View File

@@ -78,7 +78,7 @@ public class PumpAllEffect extends SpellAbilityEffect {
tgtC.addHiddenExtrinsicKeywords(timestamp, 0, hiddenkws);
}
if (sa.hasParam("RememberAllPumped")) {
if (sa.hasParam("RememberPumped")) {
sa.getHostCard().addRemembered(tgtC);
}

View File

@@ -115,6 +115,10 @@ public class PumpEffect extends SpellAbilityEffect {
addLeaveBattlefieldReplacement(gameCard, sa, sa.getParam("LeaveBattlefield"));
}
if (sa.hasParam("RememberPumped")) {
host.addRemembered(gameCard);
}
if (!"Permanent".equals(duration) && !perpetual) {
// If not Permanent, remove Pumped at EOT
final GameCommand untilEOT = new GameCommand() {

View File

@@ -2905,7 +2905,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
} else if (keyword.startsWith("Entwine") || keyword.startsWith("Madness")
|| keyword.startsWith("Miracle") || keyword.startsWith("Recover")
|| keyword.startsWith("Escape") || keyword.startsWith("Foretell:")
|| keyword.startsWith("Disturb")) {
|| keyword.startsWith("Disturb") || keyword.startsWith("Overload")) {
final String[] k = keyword.split(":");
final Cost cost = new Cost(k[1], false);

View File

@@ -74,6 +74,7 @@ import forge.game.spellability.Spell;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityRestriction;
import forge.game.spellability.SpellPermanent;
import forge.game.spellability.TargetRestrictions;
import forge.game.staticability.StaticAbility;
import forge.game.staticability.StaticAbilityCantBeCast;
import forge.game.trigger.Trigger;
@@ -3244,6 +3245,50 @@ public class CardFactoryUtil {
sa.setIntrinsic(intrinsic);
sa.setAlternativeCost(AlternativeCost.Outlast);
inst.addSpellAbility(sa);
} else if (keyword.startsWith("Overload")) {
final String[] k = keyword.split(":");
final Cost overloadCost = new Cost(k[1], false);
final SpellAbility newSA = card.getFirstSpellAbility().copyWithDefinedCost(overloadCost);
TargetRestrictions tgt = newSA.getTargetRestrictions();
String defined = String.join(",", tgt.getValidTgts());
if (tgt.canTgtPlayer()) {
newSA.putParam("Defined", defined);
} else {
String zoneDef = "";
if (!tgt.getZone().contains(ZoneType.Battlefield)) {
zoneDef = StringUtils.join(tgt.getZone(), ",");
}
if (newSA.hasParam("TargetType")) {
defined = defined.replaceAll("Card", newSA.getParam("TargetType"));
}
newSA.putParam("Defined", "Valid" + zoneDef + " " + defined);
}
newSA.setTargetRestrictions(null);
if (host.isInstant() || host.isSorcery()) {
newSA.putParam("Secondary", "True");
}
newSA.putParam("PrecostDesc", "Overload");
newSA.putParam("CostDesc", ManaCostParser.parse(k[1]));
// makes new StackDescription
String stackD = newSA.getDescription().replaceAll("Target", "Each")
.replaceAll("target", "each");
newSA.putParam("StackDescription", stackD);
// makes new SpellDescription
final StringBuilder sb = new StringBuilder();
sb.append(newSA.getCostDescription());
sb.append("(").append(inst.getReminderText()).append(")");
newSA.setDescription(sb.toString());
// need to store them for additional copies
newSA.getOriginalMapParams().putAll(newSA.getMapParams());
newSA.setIntrinsic(intrinsic);
newSA.setAlternativeCost(AlternativeCost.Overload);
inst.addSpellAbility(newSA);
} else if (keyword.startsWith("Prototype")) {
final String[] k = keyword.split(":");
if (k.length < 4) {

View File

@@ -134,6 +134,7 @@ public enum Keyword {
NINJUTSU("Ninjutsu", Ninjutsu.class, false, "%s, Return an unblocked attacker you control to hand: Put this card onto the battlefield from your %s tapped and attacking."),
OUTLAST("Outlast", KeywordWithCost.class, false, "%s, {T}: Put a +1/+1 counter on this creature. Outlast only as a sorcery."),
OFFERING("Offering", KeywordWithType.class, false, "You may cast this card any time you could cast an instant by sacrificing a %1$s and paying the difference in mana costs between this and the sacrificed %1$s. Mana cost includes color."),
OVERLOAD("Overload", KeywordWithCost.class, false, "You may cast this spell for its overload cost. If you do, change its text by replacing all instances of \"target\" with \"each.\""),
PARTNER("Partner", Partner.class, true, "You can have two commanders if both have partner."),
PERSIST("Persist", SimpleKeyword.class, false, "When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it."),
PHASING("Phasing", SimpleKeyword.class, true, "This phases in or out before you untap during each of your untap steps. While it's phased out, it's treated as though it doesn't exist."),

View File

@@ -17,6 +17,7 @@ public enum AlternativeCost {
Mutate,
Offering,
Outlast, // ActivatedAbility
Overload,
Prowl,
Spectacle,
Surge;

View File

@@ -1,6 +1,6 @@
Name:Blustersquall
ManaCost:U
Types:Instant
A:SP$ Tap | Cost$ U | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | SpellDescription$ Tap target creature you don't control.
A:SP$ TapAll | Cost$ 3 U | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | PrecostDesc$ Overload | CostDesc$ {3}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Tap each creature you don't control.
A:SP$ Tap | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | SpellDescription$ Tap target creature you don't control.
K:Overload:3 U
Oracle:Tap target creature you don't control.\nOverload {3}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,7 +1,7 @@
Name:Break the Ice
ManaCost:B B
Types:Sorcery
A:SP$ Destroy | Cost$ B B | ValidTgts$ Land.Snow,Land.canProduceManaColor Colorless | TgtPrompt$ Select target land that is snow or could produce {C} | SpellDescription$ Destroy target land that is snow or could produce {C}.
A:SP$ DestroyAll | Cost$ 4 B B | NonBasicSpell$ True | ValidCards$ Land.Snow,Land.canProduceManaColor Colorless | PrecostDesc$ Overload | CostDesc$ {4}{B}{B} | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
A:SP$ Destroy | ValidTgts$ Land.Snow,Land.canProduceManaColor Colorless | TgtPrompt$ Select target land that is snow or could produce {C} | SpellDescription$ Destroy target land that is snow or could produce {C}.
K:Overload:4 B B
AI:RemoveDeck:Random
Oracle:Destroy target land that is snow or could produce {C}.\nOverload {4}{B}{B} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,9 +1,9 @@
Name:Chemister's Trick
ManaCost:U R
Types:Instant
A:SP$ Pump | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumAtt$ -2 | RememberTargets$ True | SubAbility$ DBAnimate | StackDescription$ {c:Targeted} gets -2/-0 until end of turn and attacks this turn if able. | SpellDescription$ Target creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
A:SP$ PumpAll | Cost$ 3 U R | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | NumAtt$ -2 | RememberAllPumped$ True | SubAbility$ DBAnimate | PrecostDesc$ Overload | CostDesc$ {3}{U}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
SVar:DBAnimate:DB$ Effect | Defined$ Remembered | StaticAbilities$ MustAttack | SubAbility$ DBCleanup | StackDescription$ None| RememberObjects$ Remembered | ExileOnMoved$ Battlefield
A:SP$ Pump | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumAtt$ -2 | RememberPumped$ True | SubAbility$ DBAnimate | StackDescription$ {c:Targeted} gets -2/-0 until end of turn and attacks this turn if able. | SpellDescription$ Target creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
SVar:DBAnimate:DB$ Effect | StaticAbilities$ MustAttack | StackDescription$ None | RememberObjects$ Remembered | ForgetOnMoved$ Battlefield | SubAbility$ DBCleanup
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.IsRemembered | Description$ This creature attacks this turn if able.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:Overload:3 U R
Oracle:Target creature you don't control gets -2/-0 until end of turn and attacks this turn if able.\nOverload {3}{U}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -2,6 +2,6 @@ Name:Counterflux
ManaCost:U U R
Types:Instant
R:Event$ Counter | ValidCard$ Card.Self | ValidSA$ Spell | Layer$ CantHappen | Description$ This spell can't be countered.
A:SP$ Counter | Cost$ U U R | TargetType$ Spell | TgtPrompt$ Select target spell you don't control. | ValidTgts$ Card.YouDontCtrl | SpellDescription$ Counter target spell you don't control.
A:SP$ Counter | Cost$ 1 U U R | AllValid$ Spell.YouDontCtrl | PrecostDesc$ Overload | CostDesc$ {1}{U}{U}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Counter each spell you don't control.
A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell you don't control. | ValidTgts$ Card.YouDontCtrl | SpellDescription$ Counter target spell you don't control.
K:Overload:1 U U R
Oracle:This spell can't be countered.\nCounter target spell you don't control.\nOverload {1}{U}{U}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Cyclonic Rift
ManaCost:1 U
Types:Instant
A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.nonLand+YouDontCtrl | TgtPrompt$ Select target nonland permanent you don't control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target nonland permanent you don't control to its owner's hand.
A:SP$ ChangeZoneAll | Cost$ 6 U | ChangeType$ Permanent.nonLand+YouDontCtrl | Origin$ Battlefield | Destination$ Hand | PrecostDesc$ Overload | CostDesc$ {6}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Return each nonland permanent you don't control to its owner's hand.
A:SP$ ChangeZone | ValidTgts$ Permanent.nonLand+YouDontCtrl | TgtPrompt$ Select target nonland permanent you don't control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target nonland permanent you don't control to its owner's hand.
K:Overload:6 U
Oracle:Return target nonland permanent you don't control to its owner's hand.\nOverload {6}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Downsize
ManaCost:U
Types:Instant
A:SP$ Pump | Cost$ U | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumAtt$ -4 | SpellDescription$ Target creature you don't control gets -4/-0 until end of turn.
A:SP$ PumpAll | Cost$ 2 U | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | NumAtt$ -4 | PrecostDesc$ Overload | CostDesc$ {2}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you don't control gets -4/-0 until end of turn.
A:SP$ Pump | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumAtt$ -4 | SpellDescription$ Target creature you don't control gets -4/-0 until end of turn.
K:Overload:2 U
Oracle:Target creature you don't control gets -4/-0 until end of turn.\nOverload {2}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,7 +1,7 @@
Name:Dragonshift
ManaCost:1 U R
Types:Instant
A:SP$ Animate | Cost$ 1 U R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | Power$ 4 | Toughness$ 4 | Keywords$ Flying | RemoveAllAbilities$ True | Colors$ Blue,Red | OverwriteColors$ True | Types$ Dragon | RemoveCreatureTypes$ True | SpellDescription$ Until end of turn, target creature you control becomes a blue and red Dragon with base power and toughness 4/4, loses all abilites, and gains flying.
A:SP$ AnimateAll | Cost$ 3 U U R R | ValidCards$ Creature.YouCtrl | Power$ 4 | Toughness$ 4 | Keywords$ Flying | RemoveAllAbilities$ True | Colors$ Blue,Red | OverwriteColors$ True | Types$ Dragon | RemoveCreatureTypes$ True | PrecostDesc$ Overload | CostDesc$ {3}{U}{U}{R}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Until end of turn, each creature you control becomes a blue and red Dragon with base power and toughness 4/4, loses all abilites, and gains flying.
A:SP$ Animate | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | Power$ 4 | Toughness$ 4 | Keywords$ Flying | RemoveAllAbilities$ True | Colors$ Blue,Red | OverwriteColors$ True | Types$ Dragon | RemoveCreatureTypes$ True | SpellDescription$ Until end of turn, target creature you control becomes a blue and red Dragon with base power and toughness 4/4, loses all abilites, and gains flying.
K:Overload:3 U U R R
AI:RemoveDeck:All
Oracle:Until end of turn, target creature you control becomes a blue and red Dragon with base power and toughness 4/4, loses all abilities, and gains flying.\nOverload {3}{U}{U}{R}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Dynacharge
ManaCost:R
Types:Instant
A:SP$ Pump | Cost$ R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control. | NumAtt$ 2 | SpellDescription$ Target creature you control gets +2/+0 until end of turn.
A:SP$ PumpAll | Cost$ 2 R | ValidCards$ Creature.YouCtrl | NumAtt$ 2 | PrecostDesc$ Overload | CostDesc$ {2}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you control gets +2/+0 until end of turn.
A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control. | NumAtt$ 2 | SpellDescription$ Target creature you control gets +2/+0 until end of turn.
K:Overload:2 R
Oracle:Target creature you control gets +2/+0 until end of turn.\nOverload {2}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Electrickery
ManaCost:R
Types:Instant
A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control. | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature you don't control.
A:SP$ DamageAll | Cost$ 1 R | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | NumDmg$ 1 | PrecostDesc$ Overload | CostDesc$ {1}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
A:SP$ DealDamage | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control. | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature you don't control.
K:Overload:1 R
Oracle:Electrickery deals 1 damage to target creature you don't control.\nOverload {1}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -4,7 +4,7 @@ Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 1 W | ValidTgts$ Creature | AITgts$ Creature.nonToken | AILogic$ Pump
A:AB$ Pump | Cost$ 2 W W | Defined$ Enchanted | ImprintCards$ Enchanted | StackDescription$ SpellDescription | SubAbility$ DBRemAura | SpellDescription$ Exile enchanted creature and all Auras attached to it. At the beginning of the next end step, return that card to the battlefield under its owner's control. If you do, return the other cards exiled this way to the battlefield under their owners' control attached to that creature.
SVar:DBRemAura:DB$ PumpAll | ValidCards$ Card.IsImprinted,Aura.AttachedTo Creature.IsImprinted | RememberAllPumped$ True | StackDescription$ None | SubAbility$ DBChangeZoneAll
SVar:DBRemAura:DB$ PumpAll | ValidCards$ Card.IsImprinted,Aura.AttachedTo Creature.IsImprinted | RememberPumped$ True | StackDescription$ None | SubAbility$ DBChangeZoneAll
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Card.IsRemembered | SubAbility$ DelayedEffect
SVar:DelayedEffect:DB$ Effect | Name$ Flickerform Effect | Triggers$ TrigEOT | RememberObjects$ Remembered | ImprintCards$ Imprinted | Duration$ Permanent | SubAbility$ DBCleanup
SVar:TrigEOT:Mode$ Phase | Phase$ End of Turn | Execute$ FlickerformReturn | OneOff$ True | TriggerZones$ Command | TriggerDescription$ At the beginning of the next end step, return that card to the battlefield under its owner's control.

View File

@@ -4,7 +4,7 @@ Types:Artifact Vehicle
PT:4/3
K:Haste
T:Mode$ BecomesCrewed | ValidVehicle$ Card.Self | Execute$ RememberCrew | Static$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberAllPumped$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberPumped$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -3,7 +3,7 @@ ManaCost:4
Types:Legendary Artifact Vehicle
PT:3/6
T:Mode$ BecomesCrewed | ValidVehicle$ Card.Self | Execute$ RememberCrew | Static$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberAllPumped$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberPumped$ True
T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigFlicker | TriggerDescription$ Whenever CARDNAME attacks, exile each creature that crewed it this turn. Return them to the battlefield tapped under their owner's control at the beginning of the next end step.
SVar:TrigFlicker:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DelTrig
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ RememberedLKI | SubAbility$ DBCleanup | TriggerDescription$ Return them to the battlefield tapped under their owner's control at the beginning of the next end step.

View File

@@ -6,7 +6,7 @@ T:Mode$ Taps | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ W
SVar:TrigExile:DB$ Dig | ValidTgts$ Opponent | DigNum$ 3 | ChangeNum$ All | DestinationZone$ Exile | ExileFaceDown$ True | RememberChanged$ True
S:Mode$ Continuous | Affected$ Card.IsRemembered+ExiledWithSource | AffectedZone$ Exile | MayLookAt$ You | Description$ You may look at cards exiled with CARDNAME.
A:AB$ SetState | Cost$ U Sac<1/CARDNAME> | Defined$ Remembered | Mode$ TurnFaceUp | SubAbility$ DBCounter | SpellDescription$ Turn all cards exiled with CARDNAME face up. Counter all spells with those names.
SVar:DBCounter:DB$ Counter | AllValid$ Spell.sharesNameWith Remembered.ExiledWithSource | SubAbility$ DBCleanup
SVar:DBCounter:DB$ Counter | Defined$ ValidStack Spell.sharesNameWith Remembered.ExiledWithSource | SubAbility$ DBCleanup
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup

View File

@@ -3,7 +3,7 @@ ManaCost:2 W
Types:Sorcery
A:SP$ RepeatEach | Cost$ 2 W | RepeatPlayers$ Player | RepeatSubAbility$ DBChooseType | SubAbility$ DBDestroyAll | StackDescription$ SpellDescription | SpellDescription$ Each player chooses a creature type. Destroy all creatures that aren't of a type chosen this way. They can't be regenerated.
SVar:DBChooseType:DB$ ChooseType | Defined$ Player.IsRemembered | Type$ Creature | AILogic$ MostProminentComputerControls | SubAbility$ DBRemember
SVar:DBRemember:DB$ PumpAll | ValidCards$ Creature.ChosenType | RememberAllPumped$ True
SVar:DBRemember:DB$ PumpAll | ValidCards$ Creature.ChosenType | RememberPumped$ True
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Creature.IsNotRemembered | NoRegen$ True | SubAbility$ DBCleanup | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
AI:RemoveDeck:All

View File

@@ -3,6 +3,6 @@ ManaCost:1 U
Types:Creature Naga Wizard
PT:2/1
T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigCounter | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, counter all abilities your opponents control.
SVar:TrigCounter:DB$ Counter | AllValid$ Activated.OppCtrl,Triggered.OppCtrl
SVar:TrigCounter:DB$ Counter | Defined$ ValidStack Activated.OppCtrl,Triggered.OppCtrl
K:Megamorph:1 U
Oracle:When Kadena's Silencer is turned face up, counter all abilities your opponents control.\nMegamorph {1}{U} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)

View File

@@ -1,8 +1,8 @@
Name:March of Progress
ManaCost:2 U
Types:Sorcery
A:SP$ CopyPermanent | Cost$ 2 U | ValidTgts$ Artifact.Creature+YouCtrl | TgtPrompt$ Select target artifact creature you control | SpellDescription$ Choose target artifact creature you control. For each creature chosen this way, create a token that's a copy of it.
A:SP$ CopyPermanent | Cost$ 6 U | PrecostDesc$ Overload | CostDesc$ {6}{U} | Defined$ Valid Artifact.Creature+YouCtrl | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Choose each artifact creature you control. For each creature chosen this way, create a token that's a copy of it.
A:SP$ CopyPermanent | ValidTgts$ Artifact.Creature+YouCtrl | TgtPrompt$ Select target artifact creature you control | SpellDescription$ Choose target artifact creature you control. For each creature chosen this way, create a token that's a copy of it.
K:Overload:6 U
DeckHas:Ability$Token
DeckNeeds:Type$Artifact
Oracle:Choose target artifact creature you control. For each creature chosen this way, create a token that's a copy of it.\nOverload {6}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Mind Rake
ManaCost:2 B
Types:Sorcery
A:SP$ Discard | Cost$ 2 B | ValidTgts$ Player | NumCards$ 2 | Mode$ TgtChoose | SpellDescription$ Target player discards two cards.
A:SP$ Discard | Cost$ 1 B | Defined$ Player | PrecostDesc$ Overload | CostDesc$ {1}{B} | NonBasicSpell$ True | NumCards$ 2 | Mode$ TgtChoose | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each player discards two cards.
A:SP$ Discard | ValidTgts$ Player | NumCards$ 2 | Mode$ TgtChoose | SpellDescription$ Target player discards two cards.
K:Overload:1 B
Oracle:Target player discards two cards.\nOverload {1}{B} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Mizzium Mortars
ManaCost:1 R
Types:Sorcery
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target creature you don't control.
A:SP$ DamageAll | Cost$ 3 R R R | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | NumDmg$ 4 | PrecostDesc$ Overload | CostDesc$ {3}{R}{R}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
A:SP$ DealDamage | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target creature you don't control.
K:Overload:3 R R R
Oracle:Mizzium Mortars deals 4 damage to target creature you don't control.\nOverload {3}{R}{R}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Mizzium Skin
ManaCost:U
Types:Instant
A:SP$ Pump | Cost$ U | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumDef$ +1 | KW$ Hexproof | SpellDescription$ Target creature you control gets +0/+1 and gains hexproof until end of turn.
A:SP$ PumpAll | Cost$ 1 U | ValidCards$ Creature.YouCtrl | ValidDescription$ each creature you control. | NumDef$ +1 | KW$ Hexproof | PrecostDesc$ Overload | CostDesc$ {1}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you control gets +0/+1 and gains hexproof until end of turn.
A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumDef$ +1 | KW$ Hexproof | SpellDescription$ Target creature you control gets +0/+1 and gains hexproof until end of turn.
K:Overload:1 U
Oracle:Target creature you control gets +0/+1 and gains hexproof until end of turn.\nOverload {1}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,10 +1,10 @@
Name:Mizzix's Mastery
ManaCost:3 R
Types:Sorcery
A:SP$ ChangeZone | Cost$ 3 R | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target instant or sorcery card in a graveyard | ValidTgts$ Instant.YouOwn,Sorcery.YouOwn | RememberChanged$ True | SubAbility$ DBPlay | SpellDescription$ Exile target card that's an instant or sorcery from your graveyard. For each card exiled this way, copy it, and you may cast the copy without paying its mana cost. Exile Mizzix's Mastery.
A:SP$ ChangeZoneAll | Cost$ 5 R R R | NonBasicSpell$ True | Origin$ Graveyard | Destination$ Exile | ChangeType$ Instant.YouOwn,Sorcery.YouOwn | RememberChanged$ True | SubAbility$ DBPlay | PrecostDesc$ Overload | CostDesc$ {5}{R}{R}{R} | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Exile each card that's an instant or sorcery from your graveyard. For each card exiled this way, copy it, and you may cast the copy without paying its mana cost.
SVar:DBPlay:DB$ Play | Valid$ Card.IsRemembered | ValidZone$ Exile | Controller$ You | CopyCard$ True | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | Amount$ All | SubAbility$ ExileMe
SVar:ExileMe:DB$ ChangeZoneAll | Origin$ Stack | Destination$ Exile | ChangeType$ Card.Self | SubAbility$ DBCleanup
A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target instant or sorcery card in a graveyard | ValidTgts$ Instant.YouOwn,Sorcery.YouOwn | RememberChanged$ True | SubAbility$ DBPlay | SpellDescription$ Exile target card that's an instant or sorcery from your graveyard. For each card exiled this way, copy it, and you may cast the copy without paying its mana cost. Exile CARDNAME.
SVar:DBPlay:DB$ Play | Defined$ Remembered | ValidZone$ Exile | Controller$ You | CopyCard$ True | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | Amount$ All | SubAbility$ ExileMe
SVar:ExileMe:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:Overload:5 R R R
AI:RemoveDeck:All
Oracle:Exile target card that's an instant or sorcery from your graveyard. For each card exiled this way, copy it, and you may cast the copy without paying its mana cost. Exile Mizzix's Mastery.\nOverload {5}{R}{R}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -3,7 +3,7 @@ ManaCost:3 B B
Types:Sorcery
A:SP$ RepeatEach | Cost$ 3 B B | RepeatPlayers$ Player | RepeatSubAbility$ DBChooseType | SubAbility$ DBBidding | StackDescription$ SpellDescription | SpellDescription$ Each player chooses a creature type. Each player returns all creature cards of a type chosen this way from their graveyard to the battlefield.
SVar:DBChooseType:DB$ ChooseType | Defined$ Player.IsRemembered | Type$ Creature | AILogic$ MostProminentInComputerGraveyard | SubAbility$ DBRemember
SVar:DBRemember:DB$ PumpAll | ValidCards$ Creature.ChosenType | RememberAllPumped$ True | PumpZone$ Graveyard
SVar:DBRemember:DB$ PumpAll | ValidCards$ Creature.ChosenType | RememberPumped$ True | PumpZone$ Graveyard
SVar:DBBidding:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered | Origin$ Graveyard | Destination$ Battlefield | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
AI:RemoveDeck:All

View File

@@ -1,7 +1,7 @@
Name:Phyrexian Grimoire
ManaCost:3
Types:Artifact
A:AB$ PumpAll | Cost$ 4 T | ValidCards$ Card.TopGraveyard2+YouCtrl | PumpZone$ Graveyard | RememberAllPumped$ True | SubAbility$ DBChoose | StackDescription$ None | SpellDescription$ Target opponent chooses one of the top two cards of your graveyard. Exile that card and put the other one into your hand.
A:AB$ PumpAll | Cost$ 4 T | ValidCards$ Card.TopGraveyard2+YouCtrl | PumpZone$ Graveyard | RememberPumped$ True | SubAbility$ DBChoose | StackDescription$ None | SpellDescription$ Target opponent chooses one of the top two cards of your graveyard. Exile that card and put the other one into your hand.
SVar:DBChoose:DB$ ChooseCard | ValidTgts$ Opponent | Choices$ Card.IsRemembered | ChoiceZone$ Graveyard | Mandatory$ True | ForgetChosen$ True | SubAbility$ DBExile
SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Graveyard | Destination$ Exile | SubAbility$ DBReturn
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Graveyard | Destination$ Hand | SubAbility$ DBCleanup

View File

@@ -2,7 +2,7 @@ Name:Reverse the Polarity
ManaCost:1 U U
Types:Instant
A:SP$ Charm | Choices$ DBCounter,DBSwitch,DBUnblockable
SVar:DBCounter:DB$ Counter | AllValid$ Spell.Other | SpellDescription$ Counter all other spells.
SVar:DBCounter:DB$ Counter | Defined$ ValidStack Spell.Other | SpellDescription$ Counter all other spells.
SVar:DBSwitch:DB$ PumpAll | ValidCards$ Creature | KW$ HIDDEN CARDNAME's power and toughness are switched | SpellDescription$ Switch each creature's power and toughness until end of turn.
SVar:DBUnblockable:DB$ Effect | StaticAbilities$ Unblockable | SpellDescription$ Creatures can't be blocked this turn.
SVar:Unblockable:Mode$ CantBlockBy | ValidAttacker$ Creature | Description$ Creatures can't be blocked this turn.

View File

@@ -2,9 +2,9 @@ Name:Rise and Shine
ManaCost:1 U
Types:Sorcery
A:SP$ Animate | ValidTgts$ Artifact.nonCreature+YouCtrl | TgtPrompt$ Select target noncreature artifact you control | Types$ Artifact,Creature | Duration$ Permanent | Power$ 0 | Toughness$ 0 | RememberAnimated$ True | SubAbility$ DBPutCounter | StackDescription$ {c:Targeted} becomes a 0/0 artifact creature. {p:You} puts four +1/+1 counters on each artifact that became a creature this way. | SpellDescription$ Target noncreature artifact you control becomes a 0/0 artifact creature. Put four +1/+1 counters on each artifact that became a creature this way.
A:SP$ AnimateAll | Cost$ 4 U U | ValidCards$ Artifact.nonCreature+YouCtrl | Types$ Artifact,Creature | Duration$ Permanent | Power$ 0 | Toughness$ 0 | PrecostDesc$ Overload | CostDesc$ {4}{U}{U} | NonBasicSpell$ True | RememberAnimated$ True | SubAbility$ DBPutCounter | StackDescription$ Each noncreature artifact {p:You} controls becomes a 0/0 artifact creature. {p:You} puts four +1/+1 counters on each artifact that became a creature this way. | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ 4 | SubAbility$ DBCleanup | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:Overload:4 U U
DeckHas:Ability$Counters
DeckNeeds:Type$Artifact
Oracle:Target noncreature artifact you control becomes a 0/0 artifact creature. Put four +1/+1 counters on each artifact that became a creature this way.\nOverload {4}{U}{U} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Scale Up
ManaCost:G
Types:Sorcery
A:SP$ Animate | Cost$ G | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | Power$ 6 | Toughness$ 4 | Colors$ Green | OverwriteColors$ True | Types$ Wurm | SpellDescription$ Until end of turn, target creature you control becomes a green Wurm with base power and toughness 6/4.
A:SP$ AnimateAll | Cost$ 4 G G | PrecostDesc$ Overload | CostDesc$ {4}{G}{G} | NonBasicSpell$ True | ValidCards$ Creature.YouCtrl | Power$ 6 | Toughness$ 4 | Colors$ Green | OverwriteColors$ True | Types$ Wurm | SpellDescription$ Until end of turn, target creature you control becomes a green Wurm with base power and toughness 6/4.
A:SP$ Animate | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | Power$ 6 | Toughness$ 4 | Colors$ Green | OverwriteColors$ True | Types$ Wurm | SpellDescription$ Until end of turn, target creature you control becomes a green Wurm with base power and toughness 6/4.
K:Overload:4 G G
Oracle:Until end of turn, target creature you control becomes a green Wurm with base power and toughness 6/4.\nOverload {4}{G}{G} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -3,7 +3,7 @@ ManaCost:B B B
Types:Enchantment
K:UpkeepCost:PayLife<2>
T:Mode$ Phase | Mode$ Phase | Phase$ Declare Attackers | Execute$ TrigMarkCouldAttack | Static$ True
SVar:TrigMarkCouldAttack:DB$ PumpAll | ValidCards$ Creature.couldAttackButNotAttacking | RememberAllPumped$ True
SVar:TrigMarkCouldAttack:DB$ PumpAll | ValidCards$ Creature.couldAttackButNotAttacking | RememberPumped$ True
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ At the beginning of the end step, destroy all untapped creatures that didn't attack this turn, except for creatures that couldn't attack.
SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Creature.untapped+IsRemembered
T:Mode$ Phase | Phase$ Cleanup | Execute$ TrigCleanup | Static$ True

View File

@@ -6,7 +6,7 @@ K:Menace
K:Deathtouch
K:Lifelink
T:Mode$ BecomesCrewed | ValidVehicle$ Card.Self | Execute$ RememberCrew | Static$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberAllPumped$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberPumped$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -3,7 +3,7 @@ ManaCost:1 R
Types:Sorcery
A:SP$ PutCounter | ValidTgts$ Creature | CounterType$ Double Strike | RememberPut$ True | SubAbility$ DBGoad | SpellDescription$ Put a double strike counter on target creature, then goad each creature that had a double strike counter put on it this way. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.)
SVar:DBGoad:DB$ Goad | Defined$ Remembered | DefinedDesc$ each creature that had a double strike counter put on it this way | SubAbility$ DBCleanup
A:SP$ PutCounterAll | PrecostDesc$ Overload | Cost$ 4 R R R | ValidCards$ Creature | CounterType$ Double Strike | RememberPut$ True | SubAbility$ DBGoad | CostDesc$ {4}{R}{R}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Put a double strike counter on each creature.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:Overload:4 R R R
DeckHas:Ability$Counters
Oracle:Put a double strike counter on target creature, then goad each creature that had a double strike counter put on it this way. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.)\nOverload {4}{R}{R}{R} (You may cast this spell for its overload cost. If you do, change "target" in its text to "each.")

View File

@@ -1,6 +1,6 @@
Name:Stirring Address
ManaCost:1 W
Types:Instant
A:SP$ Pump | Cost$ 1 W | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ Target creature you control gets +2/+2 until end of turn.
A:SP$ PumpAll | Cost$ 5 W | PrecostDesc$ Overload | CostDesc$ {5}{W} | NonBasicSpell$ True | ValidCards$ Creature.YouCtrl | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you control gets +2/+2 until end of turn.
A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ Target creature you control gets +2/+2 until end of turn.
K:Overload:5 W
Oracle:Target creature you control gets +2/+2 until end of turn.\nOverload {5}{W} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -5,7 +5,7 @@ PT:5/4
K:Trample
T:Mode$ Phase | Phase$ BeginCombat | Static$ True | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ CleanupAndRemember
SVar:CleanupAndRemember:DB$ Cleanup | ClearRemembered$ True | SubAbility$ RememberTargets
SVar:RememberTargets:DB$ PumpAll | PumpZone$ Graveyard | ValidCards$ Creature.YouOwn,Planeswalker.YouOwn | RememberAllPumped$ True
SVar:RememberTargets:DB$ PumpAll | PumpZone$ Graveyard | ValidCards$ Creature.YouOwn,Planeswalker.YouOwn | RememberPumped$ True
T:Mode$ Phase | Phase$ EndCombat | Static$ True | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ JustCleanup
SVar:JustCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player,Planeswalker | CombatDamage$ True | Execute$ TrigChange | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player or planeswalker, return to your hand target creature or planeswalker card in your graveyard that wasn't put there this combat.

View File

@@ -1,7 +1,7 @@
Name:Street Spasm
ManaCost:X R
Types:Instant
A:SP$ DealDamage | Cost$ X R | ValidTgts$ Creature.withoutFlying+YouDontCtrl | TgtPrompt$ Select target creature without flying you don't control. | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature without flying you don't control.
A:SP$ DamageAll | Cost$ X X R R | ValidCards$ Creature.withoutFlying+YouDontCtrl | ValidDescription$ each creature without flying you don't control. | NumDmg$ X | PrecostDesc$ Overload | CostDesc$ {X}{X}{R}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
A:SP$ DealDamage | ValidTgts$ Creature.withoutFlying+YouDontCtrl | TgtPrompt$ Select target creature without flying you don't control. | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature without flying you don't control.
K:Overload:X X R R
SVar:X:Count$xPaid
Oracle:Street Spasm deals X damage to target creature without flying you don't control.\nOverload {X}{X}{R}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -4,7 +4,7 @@ Types:Artifact Vehicle
PT:3/4
K:Crew:1
T:Mode$ BecomesCrewed | ValidVehicle$ Card.Self | Execute$ RememberCrew | Static$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberAllPumped$ True
SVar:RememberCrew:DB$ PumpAll | ValidCards$ Creature.TriggeredCrew | RememberPumped$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -2,6 +2,6 @@ Name:Summary Dismissal
ManaCost:2 U U
Types:Instant
A:SP$ ChangeZoneAll | Cost$ 2 U U | ChangeType$ Card.Other | Origin$ Stack | Destination$ Exile | Fizzle$ True | SubAbility$ DBCounter | SpellDescription$ Exile all other spells and counter all abilities.
SVar:DBCounter:DB$ Counter | AllValid$ Activated,Triggered
SVar:DBCounter:DB$ Counter | Defined$ ValidStack Activated,Triggered
AI:RemoveDeck:All
Oracle:Exile all other spells and counter all abilities.

View File

@@ -1,7 +1,7 @@
Name:Swift Silence
ManaCost:2 W U U
Types:Instant
A:SP$ Counter | Cost$ 2 W U U | AllValid$ Spell.Other | RememberCountered$ True | SubAbility$ DBDraw | SpellDescription$ Counter all other spells. Draw a card for each spell countered this way.
A:SP$ Counter | Defined$ ValidStack Spell.Other | RememberCountered$ True | SubAbility$ DBDraw | SpellDescription$ Counter all other spells. Draw a card for each spell countered this way.
SVar:DBDraw:DB$ Draw | NumCards$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount

View File

@@ -1,10 +1,9 @@
Name:Teleportal
ManaCost:U R
Types:Sorcery
A:SP$ Pump | Cost$ U R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ 1 | SubAbility$ DBUnblockable | StackDescription$ {c:Targeted} gets +2/+0 until end of turn and can't be blocked this turn. | SpellDescription$ Target creature you control gets +1/+0 until end of turn and can't be blocked this turn.
SVar:DBUnblockable:DB$ Effect | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | StaticAbilities$ Unblockable
A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ 1 | RememberPumped$ True | SubAbility$ DBUnblockable | StackDescription$ {c:Targeted} gets +2/+0 until end of turn and can't be blocked this turn. | SpellDescription$ Target creature you control gets +1/+0 until end of turn and can't be blocked this turn.
SVar:DBUnblockable:DB$ Effect | RememberObjects$ Remembered | ForgetOnMoved$ Battlefield | StaticAbilities$ Unblockable | SubAbility$ DBCleanup
SVar:Unblockable:Mode$ CantBlockBy | ValidAttacker$ Card.IsRemembered | Description$ This creature can't be blocked this turn.
A:SP$ PumpAll | Cost$ 3 U R | ValidCards$ Creature.YouCtrl | ValidDescription$ each creature you control. | NumAtt$ 1 | PrecostDesc$ Overload | CostDesc$ {3}{U}{R} | NonBasicSpell$ True | SubAbility$ DBEffect | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you control gets +1/+0 until end of turn and can't be blocked this turn.
SVar:DBEffect:DB$ Effect | RememberObjects$ Valid Creature.YouCtrl | ForgetOnMoved$ Battlefield | StaticAbilities$ AllUnblockable
SVar:AllUnblockable:Mode$ CantBlockBy | ValidAttacker$ Card.IsRemembered | Description$ These creatures can't be blocked this turn.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
K:Overload:3 U R
Oracle:Target creature you control gets +1/+0 until end of turn and can't be blocked this turn.\nOverload {3}{U}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -3,7 +3,7 @@ ManaCost:4
Types:Artifact
K:Echo:4
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ PumpAll | Cost$ 2 T | ValidCards$ Creature | RememberAllPumped$ True | SpellDescription$ All creatures get +2/+2 for as long as CARDNAME remains tapped.
A:AB$ PumpAll | Cost$ 2 T | ValidCards$ Creature | RememberPumped$ True | SpellDescription$ All creatures get +2/+2 for as long as CARDNAME remains tapped.
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2 | AddToughness$ 2
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True

View File

@@ -2,7 +2,7 @@ Name:Unforge
ManaCost:2 R
Types:Instant
A:SP$ Pump | Cost$ 2 R | ValidTgts$ Equipment | IsCurse$ True | SubAbility$ DBRem | StackDescription$ SpellDescription | SpellDescription$ Destroy target Equipment. If that Equipment was attached to a creature, CARDNAME deals 2 damage to that creature.
SVar:DBRem:DB$ PumpAll | ValidCards$ Creature.EquippedByTargeted | RememberAllPumped$ True | StackDescription$ None | SubAbility$ DBDestroy
SVar:DBRem:DB$ PumpAll | ValidCards$ Creature.EquippedByTargeted | RememberPumped$ True | StackDescription$ None | SubAbility$ DBDestroy
SVar:DBDestroy:DB$ Destroy | Defined$ Targeted | SubAbility$ DBDmg | StackDescription$ None
SVar:DBDmg:DB$ DealDamage | Defined$ Remembered | NumDmg$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -1,6 +1,6 @@
Name:Vandalblast
ManaCost:R
Types:Sorcery
A:SP$ Destroy | Cost$ R | ValidTgts$ Artifact.YouDontCtrl | TgtPrompt$ Select target artifact you don't control | SpellDescription$ Destroy target artifact you don't control.
A:SP$ DestroyAll | Cost$ 4 R | ValidCards$ Artifact.YouDontCtrl | PrecostDesc$ Overload | CostDesc$ {4}{R} | NonBasicSpell$ True | StackDescription$ Destroy each artifact you don't control. | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
A:SP$ Destroy | ValidTgts$ Artifact.YouDontCtrl | TgtPrompt$ Select target artifact you don't control | SpellDescription$ Destroy target artifact you don't control.
K:Overload:4 R
Oracle:Destroy target artifact you don't control.\nOverload {4}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,6 +1,6 @@
Name:Weapon Surge
ManaCost:R
Types:Instant
A:SP$ Pump | Cost$ R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +1 | KW$ First Strike | SpellDescription$ Target creature you control gets +1/+0 and gains first strike until end of turn.
A:SP$ PumpAll | Cost$ 1 R | ValidCards$ Creature.YouCtrl | ValidDescription$ each creature you control. | NumAtt$ +1 | KW$ First Strike | PrecostDesc$ Overload | CostDesc$ {1}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.".) | StackDescription$ Each creature you control gets +1/+0 and gains first strike until end of turn.
A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +1 | KW$ First Strike | SpellDescription$ Target creature you control gets +1/+0 and gains first strike until end of turn.
K:Overload:1 R
Oracle:Target creature you control gets +1/+0 and gains first strike until end of turn.\nOverload {1}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -1,10 +1,10 @@
Name:Winds of Abandon
ManaCost:1 W
Types:Sorcery
A:SP$ ChangeZone | Cost$ 1 W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | SubAbility$ DBGetLandsAll | RememberLKI$ True | SpellDescription$ Exile target creature you don't control. For each creature exiled this way, its controller searches their library for a basic land card. Those players put those cards onto the battlefield tapped, then shuffle.
A:SP$ ChangeZoneAll | Cost$ 4 W W | ChangeType$ Creature.YouDontCtrl | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SubAbility$ DBGetLandsAll | PrecostDesc$ Overload | CostDesc$ {4}{W}{W} | NonBasicSpell$ True | AILogic$ Main1 | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
A:SP$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | SubAbility$ DBGetLandsAll | RememberLKI$ True | SpellDescription$ Exile target creature you don't control. For each creature exiled this way, its controller searches their library for a basic land card. Those players put those cards onto the battlefield tapped, then shuffle.
SVar:DBGetLandsAll:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBGetLandsOne | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBGetLandsOne:DB$ ChangeZone | Optional$ True | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.Basic | ChangeNum$ X | DefinedPlayer$ Player.IsRemembered | ShuffleNonMandatory$ False | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1
SVar:X:RememberedLKI$FilterControlledByRemembered_Number$1
K:Overload:4 W W
Oracle:Exile target creature you don't control. For each creature exiled this way, its controller searches their library for a basic land card. Those players put those cards onto the battlefield tapped, then shuffle.\nOverload {4}{W}{W} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")