- Basic Teferi's Time Twist AI logic (currently only uses it to flicker-save its permanents)

This commit is contained in:
Agetian
2019-05-19 18:52:46 +03:00
parent ad1c42acfc
commit ab2d9afbf6
2 changed files with 6 additions and 5 deletions

View File

@@ -676,7 +676,8 @@ public class ChangeZoneAi extends SpellAbilityAi {
} }
// only use blink or bounce effects // only use blink or bounce effects
if (!(destination.equals(ZoneType.Exile) && (subApi == ApiType.DelayedTrigger || subApi == ApiType.ChangeZone)) if (!(destination.equals(ZoneType.Exile)
&& (subApi == ApiType.DelayedTrigger || subApi == ApiType.ChangeZone || "DelayedBounce".equals(sa.getParam("AILogic"))))
&& !destination.equals(ZoneType.Hand)) { && !destination.equals(ZoneType.Hand)) {
return false; return false;
} }
@@ -936,7 +937,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
// if it's blink or bounce, try to save my about to die stuff // if it's blink or bounce, try to save my about to die stuff
final boolean blink = (destination.equals(ZoneType.Exile) && (subApi == ApiType.DelayedTrigger final boolean blink = (destination.equals(ZoneType.Exile) && (subApi == ApiType.DelayedTrigger
|| (subApi == ApiType.ChangeZone && subAffected.equals("Remembered")))); || "DelayedBounce".equals(sa.getParam("AILogic")) || (subApi == ApiType.ChangeZone && subAffected.equals("Remembered"))));
if ((destination.equals(ZoneType.Hand) || blink) && (tgt.getMinTargets(sa.getHostCard(), sa) <= 1)) { if ((destination.equals(ZoneType.Hand) || blink) && (tgt.getMinTargets(sa.getHostCard(), sa) <= 1)) {
// save my about to die stuff // save my about to die stuff
Card tobounce = canBouncePermanent(ai, sa, list); Card tobounce = canBouncePermanent(ai, sa, list);

View File

@@ -1,9 +1,9 @@
Name:Teferi's Time Twist Name:Teferi's Time Twist
ManaCost:1 U ManaCost:1 U
Types:Instant Types:Instant
A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.YouCtrl | Mandatory$ True | TgtPrompt$ Select target permanent you control | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBAnimate | SpellDescription$ Exile target permanent you control. Return that card to the battlefield under its owners control at the beginning of the next end step. If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it. A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select target permanent you control | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | AILogic$ DelayedBounce | SubAbility$ DBAnimate | SpellDescription$ Exile target permanent you control. Return that card to the battlefield under its owners control at the beginning of the next end step. If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it.
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Keywords$ etbCounter:P1P1:1:ValidCard$ Creature.IsRemembered | RememberObjects$ Remembered | SubAbility$ DelTrig SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Keywords$ etbCounter:P1P1:1:ValidCard$ Creature.IsRemembered | RememberObjects$ Remembered | SubAbility$ DelTrig | AILogic$ Always
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigBounce | RememberObjects$ Remembered | TriggerDescription$ Return that card to the battlefield under its owners control at the beginning of the next end step. If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it. SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigBounce | RememberObjects$ Remembered | AILogic$ Always | TriggerDescription$ Return that card to the battlefield under its owners control at the beginning of the next end step. If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it.
SVar:TrigBounce:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ DelayTriggerRemembered SVar:TrigBounce:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ DelayTriggerRemembered
SVar:Picture:https://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=460999&type=card SVar:Picture:https://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=460999&type=card
DeckHas:Ability$Counters DeckHas:Ability$Counters