- DelayedTriggerAi: port over AILogic NarsetRebound and SpellCopy (the latter doesn't quite work yet and the spell somehow magically fizzles with no trace).

This commit is contained in:
Hans Mackowiak
2020-11-04 08:56:41 +00:00
committed by Michael Kamensky
parent d5639f5395
commit 9b040b063b
109 changed files with 642 additions and 540 deletions

View File

@@ -2,7 +2,5 @@ Name:Chain Lightning
ManaCost:R
Types:Sorcery
A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select target | NumDmg$ 3 | SubAbility$ DBCopy1 | SpellDescription$ CARDNAME deals 3 damage to any target. Then that player or that permanent's controller may pay {R}{R}. If the player does, they may copy this spell and may choose a new target for that copy.
SVar:DBCopy1:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Permanent | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None
SVar:DBCopy2:DB$ CopySpellAbility | Defined$ Parent | Controller$ Targeted | UnlessPayer$ Targeted | UnlessCost$ R R | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Permanent | ConditionCompare$ EQ0 | StackDescription$ None
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_lightning.jpg
SVar:DBCopy1:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedOrController | UnlessPayer$ TargetedOrController | UnlessCost$ R R | UnlessSwitched$ True | MayChooseTarget$ True | StackDescription$ None
Oracle:Chain Lightning deals 3 damage to any target. Then that player or that permanent's controller may pay {R}{R}. If the player does, they may copy this spell and may choose a new target for that copy.

View File

@@ -2,7 +2,6 @@ Name:Chain of Acid
ManaCost:3 G
Types:Sorcery
A:SP$ Destroy | Cost$ 3 G | ValidTgts$ Permanent.nonCreature | SubAbility$ DBCopy | SpellDescription$ Destroy target noncreature permanent. Then that permanent's controller may copy this spell and may choose a new target for that copy.
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | Optional$ True | AILogic$ ChainOfAcid | StackDescription$ None
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | Optional$ True | AILogic$ ChainOfAcid | StackDescription$ None | MayChooseTarget$ True
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_acid.jpg
Oracle:Destroy target noncreature permanent. Then that permanent's controller may copy this spell and may choose a new target for that copy.
Oracle:Destroy target noncreature permanent. Then that permanent's controller may copy this spell and may choose a new target for that copy.

View File

@@ -2,7 +2,5 @@ Name:Chain of Plasma
ManaCost:1 R
Types:Instant
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 3 | SubAbility$ DBCopy1 | SpellDescription$ CARDNAME deals 3 damage to any target. Then that player or that permanent's controller may discard a card. If the player does, they may copy this spell and may choose a new target for that copy.
SVar:DBCopy1:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Permanent | ConditionCompare$ GE1 | SubAbility$ DBCopy2 | StackDescription$ None
SVar:DBCopy2:DB$ CopySpellAbility | Defined$ Parent | Controller$ Targeted | UnlessPayer$ Targeted | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | ConditionDefined$ Targeted | ConditionPresent$ Permanent | ConditionCompare$ EQ0 | StackDescription$ None
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_plasma.jpg
SVar:DBCopy1:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedOrController | UnlessPayer$ TargetedOrController | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | StackDescription$ None | MayChooseTarget$ True
Oracle:Chain of Plasma deals 3 damage to any target. Then that player or that permanent's controller may discard a card. If the player does, they may copy this spell and may choose a new target for that copy.

View File

@@ -2,6 +2,5 @@ Name:Chain of Silence
ManaCost:1 W
Types:Instant
A:SP$ Pump | Cost$ 1 W | ValidTgts$ Creature | KW$ Prevent all damage that would be dealt by CARDNAME. | IsCurse$ True | TgtPrompt$ Select target creature | SubAbility$ DBCopy | SpellDescription$ Prevent all damage target creature would deal this turn. That creature's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy. | StackDescription$ SpellDescription
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | Optional$ True | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | UnlessAI$ Never | StackDescription$ None
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_silence.jpg
Oracle:Prevent all damage target creature would deal this turn. That creature's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy.
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | Optional$ True | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | UnlessAI$ Never | StackDescription$ None | MayChooseTarget$ True
Oracle:Prevent all damage target creature would deal this turn. That creature's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy.

View File

@@ -2,7 +2,6 @@ Name:Chain of Smog
ManaCost:1 B
Types:Sorcery
A:SP$ Discard | Cost$ 1 B | ValidTgts$ Player | NumCards$ 2 | Mode$ TgtChoose | SubAbility$ DBCopy | SpellDescription$ Target player discards two cards. That player may copy this spell and may choose a new target for that copy.
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedPlayer | Optional$ True | AILogic$ ChainOfSmog | StackDescription$ None
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedPlayer | Optional$ True | AILogic$ ChainOfSmog | StackDescription$ None | MayChooseTarget$ True
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_smog.jpg
Oracle:Target player discards two cards. That player may copy this spell and may choose a new target for that copy.

View File

@@ -2,6 +2,5 @@ Name:Chain of Vapor
ManaCost:U
Types:Instant
A:SP$ ChangeZone | Cost$ U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCopy | StackDescription$ SpellDescription | SpellDescription$ Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy.
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | StackDescription$ None
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_of_vapor.jpg
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ Sac<1/Land> | UnlessSwitched$ True | StackDescription$ None | MayChooseTarget$ True
Oracle:Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy.

View File

@@ -2,7 +2,6 @@ Name:Chain Stasis
ManaCost:U
Types:Instant
A:SP$ TapOrUntap | Cost$ U | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBCopy | SpellDescription$ You may tap or untap target creature. Then that creature's controller may pay {2}{U}. If the player does, they may copy this spell and may choose a new target for that copy.
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ 2 U | UnlessSwitched$ True | StackDescription$ Then that creature's controller may pay {2}{U}. If the player does, they may copy this spell and may choose a new target for that copy.
SVar:DBCopy:DB$ CopySpellAbility | Defined$ Parent | Controller$ TargetedController | UnlessPayer$ TargetedController | UnlessCost$ 2 U | UnlessSwitched$ True | MayChooseTarget$ True | StackDescription$ Then that creature's controller may pay {2}{U}. If the player does, they may copy this spell and may choose a new target for that copy.
AI:RemoveDeck:All
SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_stasis.jpg
Oracle:You may tap or untap target creature. Then that creature's controller may pay {2}{U}. If the player does, they may copy this spell and may choose a new target for that copy.

View File

@@ -2,11 +2,8 @@ Name:Chandra, the Firebrand
ManaCost:3 R
Types:Legendary Planeswalker Chandra
Loyalty:3
A:AB$DealDamage | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to any target.
A:AB$Effect | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | AILogic$ SpellCopy | Name$ Chandra, the Firebrand effect. | Image$ chandra_the_firebrand_effect | Triggers$ TrigCopy | SVars$ TrigCopyMain,DBCleanup | SpellDescription$ When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.
A:AB$DealDamage | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | TargetMin$ 0 | TargetMax$ 6 | NumDmg$ 6 | SpellDescription$ CARDNAME deals 6 damage to each of up to six targets.
SVar:TrigCopy:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | OneOff$ True | Execute$ TrigCopyMain | TriggerZones$ Command | TriggerDescription$ When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.
SVar:TrigCopyMain:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:Picture:http://www.wizards.com/global/images/magic/general/chandra_the_firebrand.jpg
A:AB$ DealDamage | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to any target.
A:AB$ DelayedTrigger | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | AILogic$ SpellCopy | Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | ThisTurn$ True | Execute$ EffTrigCopy | SpellDescription$ When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.
SVar:EffTrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | MayChooseTarget$ True
A:AB$ DealDamage | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | TargetMin$ 0 | TargetMax$ 6 | NumDmg$ 6 | SpellDescription$ CARDNAME deals 6 damage to each of up to six targets.
Oracle:[+1]: Chandra, the Firebrand deals 1 damage to any target.\n[2]: When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.\n[6]: Chandra, the Firebrand deals 6 damage to each of up to six targets.

View File

@@ -2,7 +2,7 @@ Name:Chandra's Regulator
ManaCost:1 R
Types:Legendary Artifact
T:Mode$ AbilityCast | ValidCard$ Planeswalker.Chandra | ValidActivatingPlayer$ You | ValidSA$ Activated.Loyalty | TriggerZones$ Battlefield | Execute$ TrigCopyAbility | TriggerDescription$ Whenever you activate a loyalty ability of a Chandra planeswalker, you may pay {1}. If you do, copy that ability. You may choose new targets for the copy.
SVar:TrigCopyAbility:AB$ CopySpellAbility | Cost$ 1 | Defined$ TriggeredSpellAbility
SVar:TrigCopyAbility:AB$ CopySpellAbility | Cost$ 1 | Defined$ TriggeredSpellAbility | MayChooseTarget$ True
A:AB$ Draw | Cost$ 1 T Discard<1/Mountain;Card.Red/Mountain card or a red card> | NumCards$ 1 | SpellDescription$ Draw a card.
SVar:AIPreference:SacCost$Card.Mountain,Card.Red
DeckNeeds:Type$Chandra

View File

@@ -2,7 +2,6 @@ Name:Cloven Casting
ManaCost:5 U R
Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Instant.MultiColor,Sorcery.MultiColor | ValidActivatingPlayer$ You | Execute$ TrigCopy | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a multicolored instant or sorcery spell, you may pay {1}. If you do, copy that spell. You may choose new targets for the copy.
SVar:TrigCopy:AB$ CopySpellAbility | Cost$ 1 | Defined$ TriggeredSpellAbility
SVar:TrigCopy:AB$ CopySpellAbility | Cost$ 1 | Defined$ TriggeredSpellAbility | MayChooseTarget$ True
AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/cloven_casting.jpg
Oracle:Whenever you cast a multicolored instant or sorcery spell, you may pay {1}. If you do, copy that spell. You may choose new targets for the copy.

View File

@@ -4,8 +4,8 @@ Types:Enchantment Aura Curse
K:Enchant player
A:SP$ Attach | Cost$ 4 U | ValidTgts$ Player | AILogic$ Curse
T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ Player.EnchantedBy | Execute$ TrigCopy | TriggerZones$ Battlefield | OptionalDecider$ TriggeredCardOpponent | TriggerDescription$ Whenever enchanted player casts an instant or sorcery spell, each other player may copy that spell and may choose new targets for the copy they control.
SVar:TrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | Controller$ TriggeredCardOpponent
# TODO each player should copy it for multiplayer
SVar:TrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | Controller$ TriggeredCardOpponent | MayChooseTarget$ True
AI:RemoveDeck:All
SVar:RemMultiplayer:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_echoes.jpg
Oracle:Enchant player\nWhenever enchanted player casts an instant or sorcery spell, each other player may copy that spell and may choose new targets for the copy they control.