Merge branch 'master' into master2

This commit is contained in:
Anthony Calosa
2024-08-13 18:06:34 +08:00
18 changed files with 26 additions and 31 deletions

View File

@@ -23,6 +23,7 @@ import java.util.Map;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import forge.ai.ComputerUtil;
import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCard;
import forge.ai.ComputerUtilCombat; import forge.ai.ComputerUtilCombat;
import forge.ai.SpecialCardAi; import forge.ai.SpecialCardAi;
@@ -123,12 +124,8 @@ public class ControlGainAi extends SpellAbilityAi {
CardCollection list = opponents.getCardsIn(ZoneType.Battlefield); CardCollection list = opponents.getCardsIn(ZoneType.Battlefield);
list = CardLists.getValidCards(list, tgt.getValidTgts(), sa.getActivatingPlayer(), sa.getHostCard(), sa); // Filter AI-specific targets if provided
list = ComputerUtil.filterAITgts(sa, ai, list, false);
if (list.isEmpty()) {
// no valid targets, so we need to bail
return false;
}
// AI won't try to grab cards that are filtered out of AI decks on purpose // AI won't try to grab cards that are filtered out of AI decks on purpose
list = CardLists.filter(list, c -> { list = CardLists.filter(list, c -> {

View File

@@ -4,8 +4,8 @@ Types:Legendary Creature Bird Warlock
PT:1/3 PT:1/3
K:Flying K:Flying
T:Mode$ AttackersDeclaredOneTarget | AttackedTarget$ Opponent.lifeGTX | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player attacks one of your opponents, if that opponent has more life than another of your opponents, that attacking player draws a card and you put two +1/+1 counters on a creature you control. T:Mode$ AttackersDeclaredOneTarget | AttackedTarget$ Opponent.lifeGTX | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player attacks one of your opponents, if that opponent has more life than another of your opponents, that attacking player draws a card and you put two +1/+1 counters on a creature you control.
SVar:TrigDraw:DB$ Draw | Defined$ AttackingPlayer | SubAbility$ DBPutCounter | CheckSVar$ PlayerCountDefinedTriggeredAttackedTarget$HasPropertylifeGTX SVar:TrigDraw:DB$ Draw | Defined$ AttackingPlayer | SubAbility$ DBPutCounter | ConditionCheckSVar$ PlayerCountDefinedTriggeredAttackedTarget$HasPropertylifeGTX
SVar:DBPutCounter:DB$ PutCounter | Choices$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 2 | CheckSVar$ PlayerCountDefinedTriggeredAttackedTarget$HasPropertylifeGTX SVar:DBPutCounter:DB$ PutCounter | Choices$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 2 | ConditionCheckSVar$ PlayerCountDefinedTriggeredAttackedTarget$HasPropertylifeGTX
SVar:X:PlayerCountOpponents$LowestLifeTotal SVar:X:PlayerCountOpponents$LowestLifeTotal
DeckHas:Ability$Counters DeckHas:Ability$Counters
Oracle:Flying\nWhenever a player attacks one of your opponents, if that opponent has more life than another of your opponents, that attacking player draws a card and you put two +1/+1 counters on a creature you control. Oracle:Flying\nWhenever a player attacks one of your opponents, if that opponent has more life than another of your opponents, that attacking player draws a card and you put two +1/+1 counters on a creature you control.

View File

@@ -3,8 +3,8 @@ ManaCost:1 U U
Types:Enchantment Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When CARDNAME enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach CARDNAME to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it's a creature card.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When CARDNAME enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach CARDNAME to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it's a creature card.)
SVar:TrigManifest:DB$ Manifest | RememberManifested$ True | SubAbility$ Aurify SVar:TrigManifest:DB$ Manifest | RememberManifested$ True | SubAbility$ Aurify
SVar:Aurify:DB$ Animate | IsPresent$ Card.Self | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature | Duration$ Permanent | SubAbility$ RageformAttach SVar:Aurify:DB$ Animate | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature | Duration$ Permanent | SubAbility$ RageformAttach
SVar:NewAttach:SP$ Attach | Cost$ 1 U U | ValidTgts$ Creature | AILogic$ Pump SVar:NewAttach:SP$ Attach | Cost$ 1 U U | ValidTgts$ Creature | AILogic$ Pump
SVar:RageformAttach:DB$ Attach | Defined$ Remembered | IsPresent$ Card.Self SVar:RageformAttach:DB$ Attach | Defined$ Remembered
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Flying & Hexproof | Description$ Enchanted creature has flying and hexproof. S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Flying & Hexproof | Description$ Enchanted creature has flying and hexproof.
Oracle:When Cloudform enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)\nEnchanted creature has flying and hexproof. Oracle:When Cloudform enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)\nEnchanted creature has flying and hexproof.

View File

@@ -8,7 +8,7 @@ SVar:TrigExileAndBounce:DB$ ChangeZone | Defined$ Remembered | Origin$ Graveyard
SVar:DBCleanupAndBounce:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBBounceMe SVar:DBCleanupAndBounce:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBBounceMe
SVar:DBBounceMe:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Hand | Hidden$ True SVar:DBBounceMe:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Hand | Hidden$ True
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigExileCreature | TriggerDescription$ When CARDNAME leaves the battlefield, exile the creature put onto the battlefield with CARDNAME. T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigExileCreature | TriggerDescription$ When CARDNAME leaves the battlefield, exile the creature put onto the battlefield with CARDNAME.
SVar:TrigExileCreature:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Exile | IsPresent$ Card.IsRemembered | SubAbility$ DBCleanup SVar:TrigExileCreature:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | Execute$ DBCleanup | Static$ True | Secondary$ True | TriggerDescription$ Forget remembered card if it goes into Exile. T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | Execute$ DBCleanup | Static$ True | Secondary$ True | TriggerDescription$ Forget remembered card if it goes into Exile.
T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Hand | Execute$ DBCleanup | Static$ True | Secondary$ True | TriggerDescription$ Forget remembered card if it goes into Hand. T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Hand | Execute$ DBCleanup | Static$ True | Secondary$ True | TriggerDescription$ Forget remembered card if it goes into Hand.

View File

@@ -2,9 +2,9 @@ Name:Drag the Canal
ManaCost:U B ManaCost:U B
Types:Instant Types:Instant
A:SP$ Token | TokenAmount$ 1 | TokenScript$ wu_2_2_detective | TokenOwner$ You | SubAbility$ DBGainLife | SpellDescription$ Create a 2/2 white and blue Detective creature token. A:SP$ Token | TokenAmount$ 1 | TokenScript$ wu_2_2_detective | TokenOwner$ You | SubAbility$ DBGainLife | SpellDescription$ Create a 2/2 white and blue Detective creature token.
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 | CheckSVar$ X | SVarCompare$ GE1 | SubAbility$ DBSurveil | SpellDescription$ If a creature died this turn, you gain 2 life, surveil 2, then investigate. (Create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.") SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 | ConditionCheckSVar$ X | SubAbility$ DBSurveil | SpellDescription$ If a creature died this turn, you gain 2 life, surveil 2, then investigate. (Create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.")
SVar:DBSurveil:DB$ Surveil | Amount$ 2 | CheckSVar$ X | SVarCompare$ GE1 | SubAbility$ DBInvestigate SVar:DBSurveil:DB$ Surveil | Amount$ 2 | ConditionCheckSVar$ X | SubAbility$ DBInvestigate
SVar:DBInvestigate:DB$ Investigate | CheckSVar$ X | SVarCompare$ GE1 SVar:DBInvestigate:DB$ Investigate | ConditionCheckSVar$ X
SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature
DeckHas:Ability$Investigate|Token & Type$Artifact|Clue|Detective DeckHas:Ability$Investigate|Token & Type$Artifact|Clue|Detective
Oracle:Create a 2/2 white and blue Detective creature token. If a creature died this turn, you gain 2 life, surveil 2, then investigate. (Create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.") Oracle:Create a 2/2 white and blue Detective creature token. If a creature died this turn, you gain 2 life, surveil 2, then investigate. (Create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.")

View File

@@ -10,7 +10,7 @@ S:Mode$ Continuous | Affected$ Creature.IsRemembered | AddHiddenKeyword$ CARDNAM
T:Mode$ ChangesZone | TriggerZones$ Battlefield | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsRemembered | Execute$ ClearRemembered | Static$ True T:Mode$ ChangesZone | TriggerZones$ Battlefield | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsRemembered | Execute$ ClearRemembered | Static$ True
T:Mode$ Untaps | TriggerZones$ Battlefield | ValidCard$ Card.Self | Execute$ RemoveCounters | TriggerDescription$ When CARDNAME leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature. T:Mode$ Untaps | TriggerZones$ Battlefield | ValidCard$ Card.Self | Execute$ RemoveCounters | TriggerDescription$ When CARDNAME leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature.
T:Mode$ ChangesZone | TriggerZones$ Battlefield | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ RemoveCounters | Secondary$ True | TriggerDescription$ When CARDNAME leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature. T:Mode$ ChangesZone | TriggerZones$ Battlefield | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ RemoveCounters | Secondary$ True | TriggerDescription$ When CARDNAME leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature.
SVar:RemoveCounters:DB$ RemoveCounter | Defined$ Creature.IsRemembered | CounterType$ M1M1 | CounterNum$ All | SubAbility$ ClearRemembered SVar:RemoveCounters:DB$ RemoveCounter | Defined$ Remembered | CounterType$ M1M1 | CounterNum$ All | SubAbility$ ClearRemembered
SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:You may choose not to untap Giant Oyster during your untap step.\n{T}: For as long as Giant Oyster remains tapped, target tapped creature doesn't untap during its controller's untap step, and at the beginning of each of your draw steps, put a -1/-1 counter on that creature. When Giant Oyster leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature. Oracle:You may choose not to untap Giant Oyster during your untap step.\n{T}: For as long as Giant Oyster remains tapped, target tapped creature doesn't untap during its controller's untap step, and at the beginning of each of your draw steps, put a -1/-1 counter on that creature. When Giant Oyster leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature.

View File

@@ -3,8 +3,8 @@ ManaCost:1 W W
Types:Enchantment Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When CARDNAME enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach CARDNAME to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it's a creature card.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When CARDNAME enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach CARDNAME to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it's a creature card.)
SVar:TrigManifest:DB$ Manifest | RememberManifested$ True | SubAbility$ Aurify SVar:TrigManifest:DB$ Manifest | RememberManifested$ True | SubAbility$ Aurify
SVar:Aurify:DB$ Animate | IsPresent$ Card.Self | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature | Duration$ Permanent | SubAbility$ LightformAttach SVar:Aurify:DB$ Animate | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature | Duration$ Permanent | SubAbility$ LightformAttach
SVar:NewAttach:SP$ Attach | Cost$ 1 W W | ValidTgts$ Creature | AILogic$ Pump SVar:NewAttach:SP$ Attach | Cost$ 1 W W | ValidTgts$ Creature | AILogic$ Pump
SVar:LightformAttach:DB$ Attach | Defined$ Remembered | IsPresent$ Card.Self SVar:LightformAttach:DB$ Attach | Defined$ Remembered
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Lifelink & Flying | Description$ Enchanted creature has flying and lifelink. S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Lifelink & Flying | Description$ Enchanted creature has flying and lifelink.
Oracle:When Lightform enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)\nEnchanted creature has flying and lifelink. Oracle:When Lightform enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)\nEnchanted creature has flying and lifelink.

View File

@@ -4,7 +4,7 @@ Types:Enchantment
K:MayFlashSac K:MayFlashSac
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ RaiseDead | TriggerDescription$ When CARDNAME enters, if it's on the battlefield, it becomes an Aura with "enchant creature put onto the battlefield with CARDNAME." Put target creature card from a graveyard onto the battlefield under your control and attach CARDNAME to it. When CARDNAME leaves the battlefield, that creature's controller sacrifices it. When CARDNAME leaves the battlefield, that creature's controller sacrifices it. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ RaiseDead | TriggerDescription$ When CARDNAME enters, if it's on the battlefield, it becomes an Aura with "enchant creature put onto the battlefield with CARDNAME." Put target creature card from a graveyard onto the battlefield under your control and attach CARDNAME to it. When CARDNAME leaves the battlefield, that creature's controller sacrifices it. When CARDNAME leaves the battlefield, that creature's controller sacrifices it.
SVar:RaiseDead:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | TgtPrompt$ Select target creature card in a graveyard | ValidTgts$ Creature | ChangeNum$ 1 | SubAbility$ Aurify SVar:RaiseDead:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | TgtPrompt$ Select target creature card in a graveyard | ValidTgts$ Creature | ChangeNum$ 1 | SubAbility$ Aurify
SVar:Aurify:DB$ Animate | IsPresent$ Card.Self | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature put onto the battlefield with CARDNAME | Duration$ Permanent | SubAbility$ NecromAttach SVar:Aurify:DB$ Animate | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature put onto the battlefield with CARDNAME | Duration$ Permanent | SubAbility$ NecromAttach
SVar:NewAttach:SP$ Attach | Cost$ 2 B | ValidTgts$ Creature.IsRemembered | AILogic$ Pump SVar:NewAttach:SP$ Attach | Cost$ 2 B | ValidTgts$ Creature.IsRemembered | AILogic$ Pump
SVar:DBDelay:DB$ DelayedTrigger | Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Execute$ TrigSacrifice | RememberObjects$ RememberedLKI | TriggerDescription$ When CARDNAME leaves the battlefield, that creature's controller sacrifices it. SVar:DBDelay:DB$ DelayedTrigger | Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Execute$ TrigSacrifice | RememberObjects$ RememberedLKI | TriggerDescription$ When CARDNAME leaves the battlefield, that creature's controller sacrifices it.
SVar:NecromAttach:DB$ Attach | Defined$ Remembered | SubAbility$ DBDelay SVar:NecromAttach:DB$ Attach | Defined$ Remembered | SubAbility$ DBDelay

View File

@@ -3,8 +3,8 @@ ManaCost:2 R R
Types:Enchantment Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When CARDNAME enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach CARDNAME to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it's a creature card.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When CARDNAME enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach CARDNAME to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. You may turn it face up at any time for its mana cost if it's a creature card.)
SVar:TrigManifest:DB$ Manifest | RememberManifested$ True | SubAbility$ Aurify SVar:TrigManifest:DB$ Manifest | RememberManifested$ True | SubAbility$ Aurify
SVar:Aurify:DB$ Animate | IsPresent$ Card.Self | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature | Duration$ Permanent | SubAbility$ RageformAttach SVar:Aurify:DB$ Animate | Types$ Aura | OverwriteSpells$ True | Abilities$ NewAttach | Keywords$ Enchant creature | Duration$ Permanent | SubAbility$ RageformAttach
SVar:NewAttach:SP$ Attach | Cost$ 2 R R | ValidTgts$ Creature | AILogic$ Pump SVar:NewAttach:SP$ Attach | Cost$ 2 R R | ValidTgts$ Creature | AILogic$ Pump
SVar:RageformAttach:DB$ Attach | Defined$ Remembered | IsPresent$ Card.Self SVar:RageformAttach:DB$ Attach | Defined$ Remembered
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Double Strike | Description$ Enchanted creature has double strike. S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Double Strike | Description$ Enchanted creature has double strike.
Oracle:When Rageform enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)\nEnchanted creature has double strike. (It deals both first-strike and regular combat damage.) Oracle:When Rageform enters, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)\nEnchanted creature has double strike. (It deals both first-strike and regular combat damage.)

View File

@@ -2,9 +2,8 @@ Name:Rootwater Matriarch
ManaCost:2 U U ManaCost:2 U U
Types:Creature Merfolk Types:Creature Merfolk
PT:2/3 PT:2/3
A:AB$ GainControl | Cost$ T | ValidTgts$ Creature | AITgts$ Creature.Enchanted | LoseControl$ StaticCommandCheck | StaticCommandCheckSVar$ X | StaticCommandSVarCompare$ EQ0 | ConditionCheckSVar$ Y | ContionSVarCompare$ GE1 | SpellDescription$ Gain control of target creature for as long as that creature is enchanted. A:AB$ GainControl | Cost$ T | ValidTgts$ Creature | AITgts$ Creature.enchanted | AITgtsStrict$ True | LoseControl$ StaticCommandCheck | StaticCommandCheckSVar$ X | StaticCommandSVarCompare$ EQ0 | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | SpellDescription$ Gain control of target creature for as long as that creature is enchanted.
# The hostcard of SVar X is the controlled card # The hostcard of SVar X is the controlled card
SVar:X:Count$Valid Card.Self+enchanted SVar:X:Count$Valid Card.Self+enchanted
SVar:Y:Targeted$Valid Card.enchanted SVar:Y:Targeted$Valid Card.enchanted
AI:RemoveDeck:Random
Oracle:{T}: Gain control of target creature for as long as that creature is enchanted. Oracle:{T}: Gain control of target creature for as long as that creature is enchanted.

View File

@@ -4,7 +4,7 @@ Types:Sorcery
A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ Count$Compare Y GE1.2.1 | Choices$ DBControl,DBClone | AdditionalDescription$ . If you control a commander as you cast this spell, you may choose both. A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ Count$Compare Y GE1.2.1 | Choices$ DBControl,DBClone | AdditionalDescription$ . If you control a commander as you cast this spell, you may choose both.
SVar:DBControl:DB$ ChooseCard | ValidTgts$ Opponent | Mandatory$ True | Choices$ Creature.TargetedPlayerCtrl | ChoiceTitle$ Choose a creature you control | SubAbility$ DBGainControl | AILogic$ WorstCard | SpellDescription$ Target opponent chooses a creature they control. You gain control of it. SVar:DBControl:DB$ ChooseCard | ValidTgts$ Opponent | Mandatory$ True | Choices$ Creature.TargetedPlayerCtrl | ChoiceTitle$ Choose a creature you control | SubAbility$ DBGainControl | AILogic$ WorstCard | SpellDescription$ Target opponent chooses a creature they control. You gain control of it.
SVar:DBGainControl:DB$ GainControl | Defined$ ChosenCard | NewController$ You SVar:DBGainControl:DB$ GainControl | Defined$ ChosenCard | NewController$ You
SVar:DBClone:DB$ Clone | Choices$ Creature.YouCtrl | ChoiceTitle$ Choose a creature you control | ExcludeChosen$ True | CloneTarget$ Valid Creature.YouCtrl | Duration$ UntilEndOfTurn SVar:DBClone:DB$ Clone | Choices$ Creature.YouCtrl | ChoiceTitle$ Choose a creature you control | ExcludeChosen$ True | CloneTarget$ Valid Creature.YouCtrl | Duration$ UntilEndOfTurn | SpellDescription$ Choose a creature you control. Each other creature you control becomes a copy of that creature until end of turn.
SVar:Y:Count$Valid Card.IsCommander+YouCtrl SVar:Y:Count$Valid Card.IsCommander+YouCtrl
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
Oracle:Choose one. If you control a commander as you cast this spell, you may choose both.\n• Target opponent chooses a creature they control. You gain control of it.\n• Choose a creature you control. Each other creature you control becomes a copy of that creature until end of turn. Oracle:Choose one. If you control a commander as you cast this spell, you may choose both.\n• Target opponent chooses a creature they control. You gain control of it.\n• Choose a creature you control. Each other creature you control becomes a copy of that creature until end of turn.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Spirit
PT:2/2 PT:2/2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | ValidCard$ Creature.powerLE1+YouOwn | OptionalDecider$ You | Execute$ DelTrig | TriggerDescription$ Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield at the beginning of the next end step if CARDNAME is still on the battlefield. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | ValidCard$ Creature.powerLE1+YouOwn | OptionalDecider$ You | Execute$ DelTrig | TriggerDescription$ Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield at the beginning of the next end step if CARDNAME is still on the battlefield.
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | Execute$ TrigReturn | IsPresent$ Card.StrictlySelf | PresentZone$ Battlefield | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return creature to the battlefield. SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | Execute$ TrigReturn | IsPresent$ Card.StrictlySelf | PresentZone$ Battlefield | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return creature to the battlefield.
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ DelayTriggerRememberedLKI | IsPresent$ Card.StrictlySelf | PresentZone$ Battlefield SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ DelayTriggerRememberedLKI
S:Mode$ Continuous | Affected$ Creature.YouCtrl+powerLE1+YouOwn | AddSVar$ Sac S:Mode$ Continuous | Affected$ Creature.YouCtrl+powerLE1+YouOwn | AddSVar$ Sac
SVar:Sac:SVar:SacMe:3 SVar:Sac:SVar:SacMe:3
Oracle:Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield at the beginning of the next end step if Shirei, Shizo's Caretaker is still on the battlefield. Oracle:Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield at the beginning of the next end step if Shirei, Shizo's Caretaker is still on the battlefield.

View File

@@ -2,8 +2,8 @@ Name:Stalking Yeti
ManaCost:2 R R ManaCost:2 R R
Types:Snow Creature Yeti Types:Snow Creature Yeti
PT:3/3 PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters, if it's on the battlefield, it deals damage equal to its power to target creature an opponent controls and that creature deals damage equal to its power to CARDNAME. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | IsPresent$ Card.StrictlySelf | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters, if it's on the battlefield, it deals damage equal to its power to target creature an opponent controls and that creature deals damage equal to its power to CARDNAME.
SVar:TrigDamage:DB$ DealDamage | IsPresent$ Card.Self | PresentZone$ Battlefield | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ X | SubAbility$ DBDamage SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ X | SubAbility$ DBDamage
SVar:DBDamage:DB$ DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y SVar:DBDamage:DB$ DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y
A:AB$ ChangeZone | Cost$ 2 S | Origin$ Battlefield | Destination$ Hand | SorcerySpeed$ True | SpellDescription$ Return CARDNAME to its owner's hand. Activate only any time you could cast a sorcery. A:AB$ ChangeZone | Cost$ 2 S | Origin$ Battlefield | Destination$ Hand | SorcerySpeed$ True | SpellDescription$ Return CARDNAME to its owner's hand. Activate only any time you could cast a sorcery.
SVar:X:Count$CardPower SVar:X:Count$CardPower

View File

@@ -2,7 +2,7 @@ Name:Ulamog, the Defiler
ManaCost:10 ManaCost:10
Types:Legendary Creature Eldrazi Types:Legendary Creature Eldrazi
PT:7/7 PT:7/7
K:Ward:Sac<2/Permanent/permanents> K:Ward:Sac<2/Permanent>
T:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When you cast this spell, target opponent exiles half their library, rounded up. T:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When you cast this spell, target opponent exiles half their library, rounded up.
SVar:TrigExile:DB$ Dig | ValidTgts$ Opponent | DestinationZone$ Exile | DigNum$ X | ChangeNum$ All SVar:TrigExile:DB$ Dig | ValidTgts$ Opponent | DestinationZone$ Exile | DigNum$ X | ChangeNum$ All
SVar:X:TargetedPlayer$CardsInLibrary/HalfUp SVar:X:TargetedPlayer$CardsInLibrary/HalfUp

View File

@@ -2,7 +2,6 @@ Name:Kindlespark Duo
ManaCost:2 R ManaCost:2 R
Types:Creature Lizard Otter Types:Creature Lizard Otter
PT:1/3 PT:1/3
K:Flying
A:AB$ DealDamage | Cost$ T | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target opponent. A:AB$ DealDamage | Cost$ T | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target opponent.
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | Execute$ TrigUntap | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a noncreature spell, untap CARDNAME. T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | Execute$ TrigUntap | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a noncreature spell, untap CARDNAME.
SVar:TrigUntap:DB$ Untap | Defined$ Self SVar:TrigUntap:DB$ Untap | Defined$ Self

View File

@@ -6,7 +6,7 @@ SVar:DBRepeatTypes:DB$ RepeatEach | RepeatTypesFrom$ Card.IsImprinted | TypesFro
SVar:ChooseCard:DB$ ChooseCard | Choices$ Card.ChosenType+YouOwn+IsImprinted | ChoiceZone$ Library | RememberChosen$ True SVar:ChooseCard:DB$ ChooseCard | Choices$ Card.ChosenType+YouOwn+IsImprinted | ChoiceZone$ Library | RememberChosen$ True
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | Defined$ Remembered | SubAbility$ DBGraveyard SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | Defined$ Remembered | SubAbility$ DBGraveyard
SVar:DBGraveyard:DB$ ChangeZoneAll | Origin$ Library | Destination$ Graveyard | ChangeType$ Card.IsImprinted+!IsRemembered | SubAbility$ DBPlay SVar:DBGraveyard:DB$ ChangeZoneAll | Origin$ Library | Destination$ Graveyard | ChangeType$ Card.IsImprinted+!IsRemembered | SubAbility$ DBPlay
SVar:DBPlay:DB$ Play | Valid$ Card.IsRemembered | ValidZone$ Exile | ValidSA$ Spell | CheckSVar$ Y | SVarCompare$ GE4 | Controller$ You | WithoutManaCost$ True | Optional$ True | Amount$ 1 | SubAbility$ DBChangeZone2 SVar:DBPlay:DB$ Play | Valid$ Card.IsRemembered | ValidZone$ Exile | ValidSA$ Spell | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE4 | Controller$ You | WithoutManaCost$ True | Optional$ True | Amount$ 1 | SubAbility$ DBChangeZone2
SVar:DBChangeZone2:DB$ ChangeZone | Origin$ Exile | Destination$ Hand | Defined$ Remembered | SubAbility$ DBCleanup SVar:DBChangeZone2:DB$ ChangeZone | Origin$ Exile | Destination$ Hand | Defined$ Remembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
SVar:X:Count$xPaid SVar:X:Count$xPaid

View File

@@ -4,7 +4,7 @@ Types:Creature Lizard Warrior
PT:4/2 PT:4/2
K:Trample K:Trample
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters, choose target creature. If that creature's power is 2 or less or if you control another Lizard, gain control of that creature until end of turn, untap it, and it gains haste until end of turn. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters, choose target creature. If that creature's power is 2 or less or if you control another Lizard, gain control of that creature until end of turn, untap it, and it gains haste until end of turn.
SVar:TrigChange:DB$ GainControl | TgtPrompt$ Choose target creature | ValidTgts$ Creature | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | CheckSVar$ X | SVarCompare$ GE1 SVar:TrigChange:DB$ GainControl | TgtPrompt$ Choose target creature | ValidTgts$ Creature | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | ConditionCheckSVar$ X
SVar:X:Count$Valid Creature.targetedBy+powerLE2/Plus.Y SVar:X:Count$Valid Creature.targetedBy+powerLE2/Plus.Y
SVar:Y:Count$Valid Lizard.Other+YouCtrl SVar:Y:Count$Valid Lizard.Other+YouCtrl
SVar:PlayMain1:OPPONENTCREATURES SVar:PlayMain1:OPPONENTCREATURES

View File

@@ -2,7 +2,7 @@ Name:Wick, the Whorled Mind
ManaCost:3 B ManaCost:3 B
Types:Legendary Creature Rat Warlock Types:Legendary Creature Rat Warlock
PT:2/4 PT:2/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Rat.Other+YouCtrl | OptionalDecider$ You | Execute$ TrigBranch | TriggerDescription$ Whenever NICKNAME or another Rat you control enters, create a 1/1 black Snail creature token if you don't control a Snail. Otherwise, put a +1/+1 counter on a Snail you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Rat.Other+YouCtrl | Execute$ TrigBranch | TriggerDescription$ Whenever NICKNAME or another Rat you control enters, create a 1/1 black Snail creature token if you don't control a Snail. Otherwise, put a +1/+1 counter on a Snail you control.
SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ EQ0 | TrueSubAbility$ DBToken | FalseSubAbility$ DBPutCounter SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ EQ0 | TrueSubAbility$ DBToken | FalseSubAbility$ DBPutCounter
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_1_1_snail | TokenOwner$ You SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_1_1_snail | TokenOwner$ You
SVar:DBPutCounter:DB$ PutCounter | Choices$ Snail.YouCtrl | CounterType$ P1P1 | CounterNum$ 1 SVar:DBPutCounter:DB$ PutCounter | Choices$ Snail.YouCtrl | CounterType$ P1P1 | CounterNum$ 1