Update some scripts (#4949)

* Simplify bad effects
This commit is contained in:
tool4ever
2024-04-05 15:22:45 +02:00
committed by GitHub
parent a5e3b93ea3
commit 41d2c28891
40 changed files with 88 additions and 158 deletions

View File

@@ -774,8 +774,8 @@ public class PlayerControllerAi extends PlayerController {
}
break;
case "BetterTgtThanRemembered":
if (source.hasRemembered()) {
Card rem = (Card) source.getFirstRemembered();
if (source.hasGainControlTarget()) {
Card rem = source.getGainControlTargets().get(0);
// avoid pumping opponent creature
if (!rem.isInPlay() || rem.getController().isOpponentOf(source.getController())) {
return true;

View File

@@ -259,6 +259,7 @@ public class DestroyAi extends SpellAbilityAi {
}
}
} else {
// TODO look for "exiled until leaves" of own stuff
choice = ComputerUtilCard.getMostExpensivePermanentAI(list);
}
//option to hold removal instead only applies for single targeted removal

View File

@@ -21,7 +21,6 @@ import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions;
import forge.game.staticability.StaticAbility;
import forge.game.zone.ZoneType;
import org.apache.commons.lang3.StringUtils;
@@ -320,23 +319,6 @@ public class PumpAi extends PumpAiBase {
}
}
if ("ContinuousBonus".equals(aiLogic)) {
// P/T bonus in a continuous static ability
for (StaticAbility stAb : source.getStaticAbilities()) {
if ("Continuous".equals(stAb.getParam("Mode"))) {
if (stAb.hasParam("AddPower")) {
attack += AbilityUtils.calculateAmount(source, stAb.getParam("AddPower"), stAb);
}
if (stAb.hasParam("AddToughness")) {
defense += AbilityUtils.calculateAmount(source, stAb.getParam("AddToughness"), stAb);
}
if (stAb.hasParam("AddKeyword")) {
keywords.addAll(Lists.newArrayList(stAb.getParam("AddKeyword").split(" & ")));
}
}
}
}
if ((numDefense.contains("X") && defense == 0) || (numAttack.contains("X") && attack == 0 && !isBerserk)) {
return false;
}

View File

@@ -88,7 +88,7 @@ public class GameCopier {
newPlayer.setLifeLostLastTurn(origPlayer.getLifeLostLastTurn());
newPlayer.setLifeLostThisTurn(origPlayer.getLifeLostThisTurn());
newPlayer.setLifeGainedThisTurn(origPlayer.getLifeGainedThisTurn());
newPlayer.setCommitedCrimeThisTurn(origPlayer.getCommitedCrimeThisTurn());
newPlayer.setCommitedCrimeThisTurn(origPlayer.getCommittedCrimeThisTurn());
newPlayer.setLifeStartedThisTurnWith(origPlayer.getLifeStartedThisTurnWith());
newPlayer.setDamageReceivedThisTurn(origPlayer.getDamageReceivedThisTurn());
newPlayer.setActivateLoyaltyAbilityThisTurn(origPlayer.getActivateLoyaltyAbilityThisTurn());

View File

@@ -2228,7 +2228,7 @@ public class AbilityUtils {
return doXMath(calculateAmount(c, sq[player.hasThreshold() ? 1 : 2], ctb), expr, c, ctb);
}
if (sq[0].equals("CommittedCrimeThisTurn")) {
return doXMath(calculateAmount(c, sq[player.getCommitedCrimeThisTurn() > 0 ? 1 : 2], ctb), expr, c, ctb);
return doXMath(calculateAmount(c, sq[player.getCommittedCrimeThisTurn() > 0 ? 1 : 2], ctb), expr, c, ctb);
}
if (sq[0].equals("ExtraTurn")) {
return doXMath(calculateAmount(c, sq[game.getPhaseHandler().getPlayerTurn().isExtraTurn() ? 1 : 2], ctb), expr, c, ctb);

View File

@@ -88,10 +88,6 @@ public class ControlSpellEffect extends SpellAbilityEffect {
}
}
if (!tgtC.equals(sa.getHostCard()) && !sa.getHostCard().getGainControlTargets().contains(tgtC)) {
sa.getHostCard().addGainControlTarget(tgtC);
}
if (remember) {
source.addRemembered(tgtC);
}

View File

@@ -116,6 +116,8 @@ public class PumpEffect extends SpellAbilityEffect {
@Override
public void run() {
host.removeGainControlTargets(gameCard);
gameCard.removePTBoost(timestamp, 0);
boolean updateText = gameCard.removeCanBlockAny(timestamp);
updateText |= gameCard.removeCanBlockAdditional(timestamp);
@@ -132,6 +134,9 @@ public class PumpEffect extends SpellAbilityEffect {
game.fireEvent(new GameEventCardStatsChanged(gameCard));
}
};
if ("UntilUntaps".equals(duration)) {
host.addGainControlTarget(gameCard);
}
addUntilCommand(sa, untilEOT);
}
game.fireEvent(new GameEventCardStatsChanged(gameCard));
@@ -264,8 +269,13 @@ public class PumpEffect extends SpellAbilityEffect {
sb.append(" each combat");
}
if (!"Permanent".equals(sa.getParam("Duration"))) {
String duration = sa.getParam("Duration");
if (!"Permanent".equals(duration)) {
if ("UntilUntaps".equals(duration)) {
sb.append(" for as long as CARDNAME remains tapped.");
} else {
sb.append(" until end of turn.");
}
} else {
sb.append(".");
}

View File

@@ -99,7 +99,7 @@ public class Player extends GameEntity implements Comparable<Player> {
private int lifeGainedThisTurn;
private int lifeGainedTimesThisTurn;
private int lifeGainedByTeamThisTurn;
private int commitedCrimeThisTurn;
private int committedCrimeThisTurn;
private int numManaShards;
private int numPowerSurgeLands;
private int numLibrarySearchedOwn; //The number of times this player has searched his library
@@ -3800,7 +3800,7 @@ public class Player extends GameEntity implements Comparable<Player> {
public void commitCrime() {
//boolean firstTime = this.commitedCrimeThisTurn == 0;
commitedCrimeThisTurn++;
committedCrimeThisTurn++;
// Run triggers
final Map<AbilityKey, Object> runParams = AbilityKey.mapFromPlayer(this);
@@ -3808,10 +3808,10 @@ public class Player extends GameEntity implements Comparable<Player> {
}
public int getCommitedCrimeThisTurn() {
return commitedCrimeThisTurn;
public int getCommittedCrimeThisTurn() {
return committedCrimeThisTurn;
}
public void setCommitedCrimeThisTurn(int v) {
commitedCrimeThisTurn = v;
committedCrimeThisTurn = v;
}
}

View File

@@ -86,7 +86,7 @@ public class PlayerProperty {
return false;
}
} else if (property.equals("committedCrimeThisTurn")) {
if (player.getCommitedCrimeThisTurn() < 1) return false;
if (player.getCommittedCrimeThisTurn() < 1) return false;
} else if (property.equals("isMonarch")) {
if (!player.isMonarch()) {
return false;

View File

@@ -831,7 +831,7 @@ public class MagicStack /* extends MyObservable */ implements Iterable<SpellAbil
final Trigger trig = sa.getTrigger();
final Card newHost = game.getCardState(host);
if (host.isAura() && newHost.isInZone(ZoneType.Graveyard) && trig.getMode() == TriggerType.ChangesZone &&
"Graveyard".equals(trig.getParam("Destination")) && "Card.EnchantedBy".equals(trig.getParam("ValidCard"))) {
"Battlefield".equals(trig.getParam("Origin")) && "Card.EnchantedBy".equals(trig.getParam("ValidCard"))) {
sa.setHostCard(newHost);
}
}

View File

@@ -2,9 +2,6 @@ Name:Ashnod's Battle Gear
ManaCost:2
Types:Artifact
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target creature you control gets +2/-2 for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
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
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ 2 | NumDef$ -2 | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target creature you control gets +2/-2 for as long as CARDNAME remains tapped.
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Ashnod's Battle Gear during your untap step.\n{2}, {T}: Target creature you control gets +2/-2 for as long as Ashnod's Battle Gear remains tapped.

View File

@@ -1,10 +1,8 @@
Name:Aven Shrine
ManaCost:1 W W
Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigGainLifeRem | TriggerDescription$ Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigGainLifeRem:DB$ Pump | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | Defined$ TriggeredActivator | LifeAmount$ X | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigGainLife:DB$ GainLife | Defined$ TriggeredActivator | LifeAmount$ X
SVar:X:Count$ValidGraveyard Card.sharesNameWith TriggeredCard
AI:RemoveDeck:Random
Oracle:Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell.

View File

@@ -1,10 +1,8 @@
Name:Cabal Shrine
ManaCost:1 B B
Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscardRem | TriggerDescription$ Whenever a player casts a spell, that player discards X cards, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigDiscardRem:DB$ Pump | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBDiscard
SVar:DBDiscard:DB$ Discard | Defined$ TriggeredActivator | NumCards$ X | Mode$ TgtChoose | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever a player casts a spell, that player discards X cards, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigDiscard:DB$ Discard | Defined$ TriggeredActivator | NumCards$ X | Mode$ TgtChoose
SVar:X:Count$ValidGraveyard Card.sharesNameWith TriggeredCard
AI:RemoveDeck:Random
Oracle:Whenever a player casts a spell, that player discards X cards, where X is the number of cards in all graveyards with the same name as that spell.

View File

@@ -3,8 +3,7 @@ ManaCost:4 R
Types:Legendary Creature Human Soldier
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDmgOpp | TriggerDescription$ When CARDNAME enters the battlefield, target creature an opponent controls deals damage equal to its power to that player.
SVar:TrigDmgOpp:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target target creature an opponent controls | RememberObjects$ Targeted | SubAbility$ DBDmgOpp | StackDescription$ None | IsCurse$ True | SpellDescription$ Target creature an opponent controls deals damage equal to its power to that player.
SVar:DBDmgOpp:DB$ DealDamage | DamageSource$ Remembered | Defined$ RememberedController | NumDmg$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$CardPower
SVar:TrigDmgOpp:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target target creature an opponent controls | SubAbility$ DBDmgOpp | StackDescription$ None | IsCurse$ True | SpellDescription$ Target creature an opponent controls deals damage equal to its power to that player.
SVar:DBDmgOpp:DB$ DealDamage | DamageSource$ Targeted | Defined$ TargetedController | NumDmg$ X
SVar:X:Targeted$CardPower
Oracle:When Dong Zhou, the Tyrant enters the battlefield, target creature an opponent controls deals damage equal to its power to that player.

View File

@@ -1,10 +1,8 @@
Name:Dwarven Shrine
ManaCost:1 R R
Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDmgRem | TriggerDescription$ Whenever a player casts a spell, CARDNAME deals X damage to that player, where X is twice the number of cards in all graveyards with the same name as that spell.
SVar:TrigDmgRem:DB$ Pump | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBDmg
SVar:DBDmg:DB$ DealDamage | Defined$ TriggeredActivator | NumDmg$ X | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered/Twice
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDmg | TriggerDescription$ Whenever a player casts a spell, CARDNAME deals X damage to that player, where X is twice the number of cards in all graveyards with the same name as that spell.
SVar:DBDmg:DB$ DealDamage | Defined$ TriggeredActivator | NumDmg$ X
SVar:X:Count$ValidGraveyard Card.sharesNameWith TriggeredCard/Twice
AI:RemoveDeck:Random
Oracle:Whenever a player casts a spell, Dwarven Shrine deals X damage to that player, where X is twice the number of cards in all graveyards with the same name as that spell.

View File

@@ -2,9 +2,6 @@ Name:Endoskeleton
ManaCost:2
Types:Artifact
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +0/+3 for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddToughness$ 3
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature | NumDef$ 3 | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +0/+3 for as long as CARDNAME remains tapped.
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Endoskeleton during your untap step.\n{2}, {T}: Target creature gets +0/+3 for as long as Endoskeleton remains tapped.

View File

@@ -1,11 +1,10 @@
Name:Ether Well
ManaCost:3 U
Types:Instant
A:SP$ Pump | Cost$ 3 U | ValidTgts$ Creature | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBDefaultAction | StackDescription$ SpellDescription | SpellDescription$ Put target creature on top of its owner's library. If that creature is red, you may put it on the bottom of its owner's library instead.
SVar:DBDefaultAction:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBBottomLibChoice,DBTopLibChoice | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBTopLibChoice:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ Put target creature on top of its owner's library.
SVar:DBBottomLibChoice:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 | SpellDescription$ If that creature is red, you may put it on the bottom of its owner's library instead.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$Valid Creature.IsRemembered+Red
A:SP$ Pump | Cost$ 3 U | ValidTgts$ Creature | IsCurse$ True | SubAbility$ DBDefaultAction | StackDescription$ SpellDescription | SpellDescription$ Put target creature on top of its owner's library. If that creature is red, you may put it on the bottom of its owner's library instead.
SVar:DBDefaultAction:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBBottomLibChoice,DBTopLibChoice | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1
SVar:DBTopLibChoice:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ Put target creature on top of its owner's library.
SVar:DBBottomLibChoice:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 | SpellDescription$ If that creature is red, you may put it on the bottom of its owner's library instead.
SVar:X:Targeted$Valid Creature.Red
Oracle:Put target creature on top of its owner's library. If that creature is red, you may put it on the bottom of its owner's library instead.

View File

@@ -3,10 +3,7 @@ ManaCost:2 G
Types:Creature Elf
PT:2/1
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 G T | ValidTgts$ Creature.Elf | TgtPrompt$ Select target Elf creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target Elf creature gets +2/+2 and has trample for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Trample
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 G T | ValidTgts$ Creature.Elf | TgtPrompt$ Select target Elf creature | NumAtt$ 2 | NumDef$ 2 | KW$ Trample | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target Elf creature gets +2/+2 and has trample for as long as CARDNAME remains tapped.
DeckNeeds:Type$Elf
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Everglove Courier during your untap step.\n{2}{G}, {T}: Target Elf creature gets +2/+2 and has trample for as long as Everglove Courier remains tapped.

View File

@@ -2,11 +2,10 @@ Name:Expel from Orazca
ManaCost:1 U
Types:Instant
K:Ascend
A:SP$ Pump | Cost$ 1 U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | RememberObjects$ Targeted | IsCurse$ True | SubAbility$ DBDefaultAction | StackDescription$ SpellDescription | SpellDescription$ Return target nonland permanent to its owner's hand. If you have the city's blessing, you may put that permanent on top of its owner's library instead.
SVar:DBDefaultAction:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBHandChoice,DBTopLibChoice | Defined$ You | ConditionCheckSVar$ X | SubAbility$ DBCleanup | ConditionSVarCompare$ GE1
SVar:DBHandChoice:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Hand
SVar:DBTopLibChoice:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ Top of the library
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:SP$ Pump | Cost$ 1 U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | IsCurse$ True | SubAbility$ DBDefaultAction | StackDescription$ SpellDescription | SpellDescription$ Return target nonland permanent to its owner's hand. If you have the city's blessing, you may put that permanent on top of its owner's library instead.
SVar:DBDefaultAction:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBHandChoice,DBTopLibChoice | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1
SVar:DBHandChoice:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Hand
SVar:DBTopLibChoice:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ Top of the library
SVar:X:Count$Blessing.1.0
Oracle:Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.)\nReturn target nonland permanent to its owner's hand. If you have the city's blessing, you may put that permanent on top of its owner's library instead.

View File

@@ -3,10 +3,7 @@ ManaCost:2 R
Types:Creature Goblin
PT:2/1
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 R T | ValidTgts$ Creature.Goblin | TgtPrompt$ Select target Goblin creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target Goblin creature gets +2/+2 and has haste for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Haste
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 R T | ValidTgts$ Creature.Goblin | TgtPrompt$ Select target Goblin creature | NumAtt$ 2 | NumDef$ 2 | KW$ Haste | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target Goblin creature gets +2/+2 and has haste for as long as CARDNAME remains tapped.
DeckNeeds:Type$Goblin
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Flamestick Courier during your untap step.\n{2}{R}, {T}: Target Goblin creature gets +2/+2 and has haste for as long as Flamestick Courier remains tapped.

View File

@@ -2,9 +2,6 @@ Name:Flowstone Armor
ManaCost:3
Types:Artifact
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 3 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +1/-1 for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 1 | AddToughness$ -1
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 3 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 1 | NumDef$ -1| Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +1/-1 for as long as CARDNAME remains tapped.
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Flowstone Armor during your untap step.\n{3}, {T}: Target creature gets +1/-1 for as long as Flowstone Armor remains tapped.

View File

@@ -3,10 +3,7 @@ ManaCost:2 B
Types:Creature Zombie
PT:2/1
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 B T | ValidTgts$ Creature.Zombie | TgtPrompt$ Select target Zombie creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target Zombie creature gets +2/+2 and has fear for as long as CARDNAME remains tapped. (It can't be blocked except by artifact creatures and/or black creatures.) | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Fear
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 B T | ValidTgts$ Creature.Zombie | TgtPrompt$ Select target Zombie creature | NumAtt$ 2 | NumDef$ 2 | KW$ Fear | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target Zombie creature gets +2/+2 and has fear for as long as CARDNAME remains tapped. (It can't be blocked except by artifact creatures and/or black creatures.)
DeckNeeds:Type$Zombie
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Frightshroud Courier during your untap step.\n{2}{B}, {T}: Target Zombie creature gets +2/+2 and has fear for as long as Frightshroud Courier remains tapped. (It can't be blocked except by artifact creatures and/or black creatures.)

View File

@@ -3,10 +3,7 @@ ManaCost:2 U
Types:Creature Human Wizard
PT:2/1
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 U T | ValidTgts$ Creature.Wizard | TgtPrompt$ Select target Wizard creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target Wizard creature gets +2/+2 and has shroud for as long as CARDNAME remains tapped. (It can't be the target of spells or abilities.) | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Shroud
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 U T | ValidTgts$ Creature.Wizard | TgtPrompt$ Select target Wizard creature | NumAtt$ 2 | NumDef$ 2 | KW$ Shroud | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target Wizard creature gets +2/+2 and has shroud for as long as CARDNAME remains tapped. (It can't be the target of spells or abilities.)
DeckNeeds:Type$Wizard
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Ghosthelm Courier during your untap step.\n{2}{U}, {T}: Target Wizard creature gets +2/+2 and has shroud for as long as Ghosthelm Courier remains tapped. (It can't be the target of spells or abilities.)

View File

@@ -2,9 +2,8 @@ Name:Invoke Justice
ManaCost:1 W W W W
Types:Sorcery
A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target permanent card in your graveyard | ValidTgts$ Permanent.YouCtrl | SubAbility$ DBPlayerTarget | SpellDescription$ Return target permanent card from your graveyard to the battlefield, then distribute four +1/+1 counters among any number of creatures and/or Vehicles target player controls. | StackDescription$ Return {c:Targeted} from your graveyard to the battlefield,
SVar:DBPlayerTarget:DB$ Pump | ValidTgts$ Player | TgtPrompt$ Select target player | RememberObjects$ ThisTargetedPlayer | SubAbility$ DBPutCounter | StackDescription$ then distribute four +1/+1 counters among any number of creatures and/or Vehicles {p:Targeted} controls.
SVar:DBPutCounter:DB$ PutCounter | Choices$ Creature.RememberedPlayerCtrl,Vehicle.RememberedPlayerCtrl | ChoiceTitle$ Choose any number of creatures and/or Vehicles target player controls to distribute counters to | ChoiceAmount$ 4 | MinChoiceAmount$ 1 | CounterType$ P1P1 | CounterNum$ 4 | DividedAsYouChoose$ 4 | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBPlayerTarget:DB$ Pump | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBPutCounter | StackDescription$ then distribute four +1/+1 counters among any number of creatures and/or Vehicles {p:Targeted} controls.
SVar:DBPutCounter:DB$ PutCounter | Choices$ Creature.TargetedPlayerCtrl,Vehicle.TargetedPlayerCtrl | ChoiceTitle$ Choose any number of creatures and/or Vehicles target player controls to distribute counters to | ChoiceAmount$ 4 | MinChoiceAmount$ 1 | CounterType$ P1P1 | CounterNum$ 4 | DividedAsYouChoose$ 4 | StackDescription$ None
DeckHas:Ability$Graveyard|Counters
DeckHints:Type$Creature|Vehicle
Oracle:Return target permanent card from your graveyard to the battlefield, then distribute four +1/+1 counters among any number of creatures and/or Vehicles target player controls.

View File

@@ -1,10 +1,8 @@
Name:Nantuko Shrine
ManaCost:1 G G
Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigTokenRem | TriggerDescription$ Whenever a player casts a spell, that player creates X 1/1 green Squirrel creature tokens, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigTokenRem:DB$ Pump | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ g_1_1_squirrel | TokenOwner$ TriggeredActivator | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever a player casts a spell, that player creates X 1/1 green Squirrel creature tokens, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ g_1_1_squirrel | TokenOwner$ TriggeredActivator
SVar:X:Count$ValidGraveyard Card.sharesNameWith TriggeredCard
AI:RemoveDeck:Random
Oracle:Whenever a player casts a spell, that player creates X 1/1 green Squirrel creature tokens, where X is the number of cards in all graveyards with the same name as that spell.

View File

@@ -3,9 +3,7 @@ ManaCost:6
Types:Creature Eldrazi
PT:5/8
T:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When you cast this spell, target opponent exiles the top four cards of their library, then you may put any number of land cards that player owns from exile onto the battlefield under your control.
SVar:TrigExile:DB$ Dig | DigNum$ 4 | ChangeNum$ All | DestinationZone$ Exile | ValidTgts$ Opponent | SubAbility$ DBPump | TgtPrompt$ Choose target opponent
SVar:DBPump:DB$ Pump | RememberObjects$ Targeted | SubAbility$ DBSower
SVar:DBSower:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Hidden$ True | ChangeType$ Land.RememberedPlayerOwn | GainControl$ True | ChangeNum$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$ValidExile Land.RememberedPlayerOwn
SVar:TrigExile:DB$ Dig | DigNum$ 4 | ChangeNum$ All | DestinationZone$ Exile | ValidTgts$ Opponent | SubAbility$ DBSower | TgtPrompt$ Choose target opponent
SVar:DBSower:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Hidden$ True | ChangeType$ Land.TargetedPlayerOwn | GainControl$ True | ChangeNum$ X
SVar:X:Count$ValidExile Land.TargetedPlayerOwn
Oracle:When you cast this spell, target opponent exiles the top four cards of their library, then you may put any number of land cards that player owns from exile onto the battlefield under your control.

View File

@@ -2,8 +2,6 @@ Name:Pattern Matcher
ManaCost:4
Types:Artifact Creature Golem
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigRem | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card with the same name as another creature you control, reveal it, put it into your hand, then shuffle.
SVar:TrigRem:DB$ Pump | RememberObjects$ Valid Creature.YouCtrl+Other | SubAbility$ TrigChange
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.sharesNameWith Remembered | ChangeNum$ 1 | ShuffleNonMandatory$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card with the same name as another creature you control, reveal it, put it into your hand, then shuffle.
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.sharesNameWith Valid Creature.YouCtrl+Other | ChangeNum$ 1 | ShuffleNonMandatory$ True
Oracle:When Pattern Matcher enters the battlefield, you may search your library for a card with the same name as another creature you control, reveal it, put it into your hand, then shuffle.

View File

@@ -3,10 +3,7 @@ ManaCost:2 W
Types:Creature Human Soldier
PT:2/1
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 W T | ValidTgts$ Creature.Soldier | TgtPrompt$ Select target Soldier creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target Soldier creature gets +2/+2 and has vigilance for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Vigilance
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 W T | ValidTgts$ Creature.Soldier | TgtPrompt$ Select target Soldier creature | NumAtt$ 2 | NumDef$ 2 | KW$ Vigilance | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target Soldier creature gets +2/+2 and has vigilance for as long as CARDNAME remains tapped.
DeckNeeds:Type$Soldier
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Pearlspear Courier during your untap step.\n{2}{W}, {T}: Target Soldier creature gets +2/+2 and has vigilance for as long as Pearlspear Courier remains tapped.

View File

@@ -20,5 +20,5 @@ S:Mode$ Continuous | Affected$ Creature.tapped+YouCtrl+Other | AddPower$ 1 | Des
S:Mode$ Continuous | Affected$ Creature.untapped+YouCtrl+Other | AddToughness$ 1 | Description$ Other untapped creatures you control get +0/+1.
T:Mode$ AttackersDeclared | Execute$ DBUnTapAll | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever you attack, untap each creature you control, then tap any number of creatures you control.
SVar:DBUnTapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ DBTap
SVar:DBTap:DB$ Tap | Defined$ CardChoices$ Creature.YouCtrl+untapped | AnyNumber$ True | ChoiceAmount$ Count$Valid Creature.YouCtrl+untapped
SVar:DBTap:DB$ Tap | CardChoices$ Creature.YouCtrl+untapped | AnyNumber$ True | ChoiceAmount$ Count$Valid Creature.YouCtrl+untapped
Oracle:Other tapped creatures you control get +1/+0.\nOther untapped creatures you control get +0/+1.\nWhenever you attack, untap each creature you control, then tap any number of creatures you control.

View File

@@ -1,7 +1,7 @@
Name:Sewers of Estark
ManaCost:2 B B
Types:Instant
A:SP$ Pump | ValidTgts$ Creature | RememberObjects$ Targeted | StackDescription$ SpellDescription | SubAbility$ DBUnblockable | SpellDescription$ Choose target creature. If it's attacking, it can't be blocked this turn. If it's blocking, prevent all combat damage that would be dealt this combat by it and each creature it's blocking.
A:SP$ Pump | ValidTgts$ Creature | StackDescription$ SpellDescription | SubAbility$ DBUnblockable | SpellDescription$ Choose target creature. If it's attacking, it can't be blocked this turn. If it's blocking, prevent all combat damage that would be dealt this combat by it and each creature it's blocking.
SVar:DBUnblockable:DB$ Effect | ConditionDefined$ Targeted | ConditionPresent$ Creature.attacking | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | StaticAbilities$ Unblockable | SubAbility$ DBPumpAll
SVar:Unblockable:Mode$ CantBlockBy | ValidAttacker$ Card.IsRemembered | Description$ This creature can't be blocked this turn.
SVar:DBPumpAll:DB$ PumpAll | ValidCards$ TargetedCard.Self,Creature.blockedByValidThisTurn Targeted | StackDescription$ None | Duration$ UntilEndOfCombat | KW$ Prevent all combat damage that would be dealt to and dealt by CARDNAME. | ConditionDefined$ Targeted | ConditionPresent$ Creature.blocking

View File

@@ -1,13 +1,9 @@
Name:Siren's Ruse
ManaCost:1 U
Types:Instant
A:SP$ Pump | Cost$ 1 U | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | RememberObjects$ Targeted | SubAbility$ DBRememberPirate | SpellDescription$ Exile target creature you control, then return that card to the battlefield under its owner's control. If a Pirate was exiled this way, draw a card. | StackDescription$ SpellDescription
SVar:DBRememberPirate:DB$ StoreSVar | SVar$ WasPirate | Type$ Number | Expression$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card.Pirate | ConditionCompare$ EQ1 | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Defined$ ParentTarget | Origin$ Battlefield | Destination$ Exile | ForgetOtherRemembered$ True | RememberChanged$ True | SubAbility$ DBReturn
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ All | Destination$ Battlefield | SubAbility$ DBPirateDraw
SVar:DBPirateDraw:DB$ Draw | NumCards$ 1 | ConditionCheckSVar$ WasPirate | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBReinitialize
SVar:DBReinitialize:DB$ StoreSVar | SVar$ WasPirate | Type$ Number | Expression$ 0
SVar:WasPirate:Number$0
A:SP$ ChangeZone | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | Imprint$ True | SubAbility$ DBReturn | SpellDescription$ Exile target creature you control, then return that card to the battlefield under its owner's control. If a Pirate was exiled this way, draw a card. | StackDescription$ SpellDescription
SVar:DBReturn:DB$ ChangeZone | Defined$ Imprinted | Origin$ All | Destination$ Battlefield | SubAbility$ DBPirateDraw | StackDescription$ None
SVar:DBPirateDraw:DB$ Draw | NumCards$ 1 | ConditionDefined Remembered | ConditionPresent$ Pirate | SubAbility$ DBCleanup | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
AI:RemoveDeck:All
Oracle:Exile target creature you control, then return that card to the battlefield under its owner's control. If a Pirate was exiled this way, draw a card.

View File

@@ -2,9 +2,6 @@ Name:Spirit Shield
ManaCost:3
Types:Artifact
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +0/+2 for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddToughness$ 2
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDef$ 2 | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +0/+2 for as long as CARDNAME remains tapped.
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Spirit Shield during your untap step.\n{2}, {T}: Target creature gets +0/+2 for as long as Spirit Shield remains tapped.

View File

@@ -1,7 +1,7 @@
Name:Stench of Evil
ManaCost:2 B B
Types:Sorcery
A:SP$ DestroyAll | Cost$ 2 B B | ValidCards$ Plains | RememberDestroyed$ True | SubAbility$ DBPay | SpellDescription$ Destroy all Plains. For each land destroyed this way, Stench of Evil deals 1 damage to that land's controller unless they pay {2}.
A:SP$ DestroyAll | Cost$ 2 B B | ValidCards$ Plains | RememberDestroyed$ True | SubAbility$ DBPay | SpellDescription$ Destroy all Plains. For each land destroyed this way, CARDNAME deals 1 damage to that land's controller unless they pay {2}.
SVar:DBPay:DB$ RepeatEach | DefinedCards$ DirectRemembered | UseImprinted$ True | RepeatSubAbility$ DBDmg | SubAbility$ DBCleanup | DamageMap$ True
SVar:DBDmg:DB$ DealDamage | NumDmg$ 1 | Defined$ ImprintedController | UnlessCost$ 2 | UnlessPayer$ ImprintedController | ShowCurrentCard$ Imprinted
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -1,11 +1,10 @@
Name:Sweep Away
ManaCost:2 U
Types:Instant
A:SP$ Pump | Cost$ 2 U | ValidTgts$ Creature | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBDefaultAction | StackDescription$ SpellDescription | SpellDescription$ Return target creature to its owner's hand. If that creature is attacking, you may put it on top of its owner's library instead.
SVar:DBDefaultAction:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBTopLibChoice,DBHandChoice | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBTopLibChoice:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ If that creature is attacking, you may put it on top of its owner's library instead.
SVar:DBHandChoice:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target creature to its owner's hand.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$Valid Creature.IsRemembered+attacking
A:SP$ Pump | Cost$ 2 U | ValidTgts$ Creature | IsCurse$ True | SubAbility$ DBDefaultAction | StackDescription$ SpellDescription | SpellDescription$ Return target creature to its owner's hand. If that creature is attacking, you may put it on top of its owner's library instead.
SVar:DBDefaultAction:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBTopLibChoice,DBHandChoice | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1
SVar:DBTopLibChoice:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ If that creature is attacking, you may put it on top of its owner's library instead.
SVar:DBHandChoice:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target creature to its owner's hand.
SVar:X:Targeted$Valid Creature.attacking
Oracle:Return target creature to its owner's hand. If that creature is attacking, you may put it on top of its owner's library instead.

View File

@@ -2,9 +2,5 @@ Name:Tawnos's Weaponry
ManaCost:2
Types:Artifact
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +1/+1 for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 1 | AddToughness$ 1
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
SVar:AIUntapPreference:BetterTgtThanRemembered
A:AB$ Pump | Cost$ 2 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 1 | NumDef$ 1 | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +1/+1 for as long as CARDNAME remains tapped.
Oracle:You may choose not to untap Tawnos's Weaponry during your untap step.\n{2}, {T}: Target creature gets +1/+1 for as long as Tawnos's Weaponry remains tapped.

View File

@@ -1,8 +1,8 @@
Name:Touch of Moonglove
ManaCost:B
Types:Instant
A:SP$ Pump | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +1 | KW$ Deathtouch | RememberObjects$ Targeted | SubAbility$ DBMoonglove | SpellDescription$ Target creature you control gets +1/+0 and gains deathtouch until end of turn. Whenever a creature dealt damage by that creature dies this turn, its controller loses 2 life. (Any amount of damage a creature with deathtouch deals to a creature is enough to destroy it.)
SVar:DBMoonglove:DB$ Effect | Triggers$ MoongloveTrigger | RememberObjects$ Remembered | StackDescription$ Whenever a creature dealt damage by that creature dies this turn, its controller loses 2 life.
A:SP$ Pump | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +1 | KW$ Deathtouch | SubAbility$ DBMoonglove | SpellDescription$ Target creature you control gets +1/+0 and gains deathtouch until end of turn. Whenever a creature dealt damage by that creature dies this turn, its controller loses 2 life. (Any amount of damage a creature with deathtouch deals to a creature is enough to destroy it.)
SVar:DBMoonglove:DB$ Effect | Triggers$ MoongloveTrigger | RememberObjects$ Targeted | StackDescription$ Whenever a creature dealt damage by that creature dies this turn, its controller loses 2 life.
SVar:MoongloveTrigger:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.DamagedBy Remembered | TriggerZones$ Command | Execute$ TrigLoseLife | TriggerDescription$ Whenever a creature dealt damage by that creature dies this turn, its controller loses 2 life.
SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ 2 | Defined$ TriggeredCardController
Oracle:Target creature you control gets +1/+0 and gains deathtouch until end of turn. Whenever a creature dealt damage by that creature dies this turn, its controller loses 2 life. (Any amount of damage a creature with deathtouch deals to a creature is enough to destroy it.)

View File

@@ -7,8 +7,6 @@ T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigPutCoun
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ PLAGUE | CounterNum$ 1
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ -X | AddToughness$ -X | Description$ Enchanted creature gets -1/-1 for each plague counter on CARDNAME.
SVar:X:Count$CardCounters.PLAGUE
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.EnchantedBy | Execute$ DBRem | TriggerDescription$ When enchanted creature leaves the battlefield, that creature's controller returns CARDNAME from its owner's graveyard to the battlefield.
SVar:DBRem:DB$ Pump | RememberObjects$ Self | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Defined$ Remembered | Origin$ Graveyard | Destination$ Battlefield | GainControl$ TriggeredCardController | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.EnchantedBy | Execute$ DBChangeZone | TriggerDescription$ When enchanted creature leaves the battlefield, that creature's controller returns CARDNAME from its owner's graveyard to the battlefield.
SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | GainControl$ TriggeredCardController
Oracle:Enchant creature\nAt the beginning of each upkeep, put a plague counter on Traveling Plague.\nEnchanted creature gets -1/-1 for each plague counter on Traveling Plague.\nWhen enchanted creature leaves the battlefield, that creature's controller returns Traveling Plague from its owner's graveyard to the battlefield.

View File

@@ -1,7 +1,7 @@
Name:Typhoon
ManaCost:2 G
Types:Sorcery
A:SP$ RepeatEach | Cost$ 2 G | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ TyphoonDmg | DamageMap$ True | SpellDescription$ Typhoon deals damage to each opponent equal to the number of Islands that player controls.
A:SP$ RepeatEach | Cost$ 2 G | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ TyphoonDmg | DamageMap$ True | SpellDescription$ CARDNAME deals damage to each opponent equal to the number of Islands that player controls.
SVar:TyphoonDmg:DB$ DealDamage | Defined$ Remembered | NumDmg$ X
SVar:X:Count$Valid Island.RememberedPlayerCtrl
AI:RemoveDeck:Random

View File

@@ -2,10 +2,8 @@ Name:Zedruu the Greathearted
ManaCost:1 U R W
Types:Legendary Creature Minotaur Monk
PT:2/4
A:AB$ Pump | Cost$ U R W | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBPumpPermanent | AILogic$ DonateTargetPerm | RememberObjects$ Targeted | SpellDescription$ Target opponent gains control of target permanent you control. | StackDescription$ None
SVar:DBPumpPermanent:DB$ Pump | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select target permanent that you control | SubAbility$ DBGainControl | StackDescription$ None
SVar:DBGainControl:DB$ GainControl | Defined$ Targeted | NewController$ Remembered | SubAbility$ DBForgetRemembered
SVar:DBForgetRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ U R W | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBGainControl | AILogic$ DonateTargetPerm | SpellDescription$ Target opponent gains control of target permanent you control. | StackDescription$ None
SVar:DBGainControl:DB$ GainControl | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select target permanent that you control | NewController$ ParentTarget
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ GainLife | TriggerDescription$ At the beginning of your upkeep, you gain X life and draw X cards, where X is the number of permanents you own that your opponents control.
SVar:GainLife:DB$ GainLife | LifeAmount$ X | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ X

View File

@@ -2,9 +2,6 @@ Name:Zelyon Sword
ManaCost:3
Types:Artifact
K:You may choose not to untap CARDNAME during your untap step.
A:AB$ Pump | Cost$ 3 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +2/+0 for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription
S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddPower$ 2
T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
A:AB$ Pump | Cost$ 3 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 2 | Duration$ UntilUntaps | AILogic$ ContinuousBonus | SpellDescription$ Target creature gets +2/+0 for as long as CARDNAME remains tapped.
SVar:AIUntapPreference:BetterTgtThanRemembered
Oracle:You may choose not to untap Zelyon Sword during your untap step.\n{3}, {T}: Target creature gets +2/+0 for as long as Zelyon Sword remains tapped.