Trigger Temporal Manipulation

This example is quite "involved".

In order for "Temporal Manipulation" to work as planned several steps are neccessary:

  1. script "CardPlayed" calls setEffect()

  2. script "ApplyEffect" sets up a trigger

  3. script for a trigger "PlayerPhaseEnter" is called

  4. if player entered the right phase, match is called to change the current phase

  5. script "RemoveEffect" is called (after two rounds) automatically from match

  6. script "RemoveEffect" removes the trigger

Done


Card PLayed

/ /PLAYED Temporal Manipulation start
int debugLevel=3;
D.addLog("6548: Enter card played",debugLevel);

match.setEffect(card, null, player,0);
bRet = true;

D.addLog("6548: End card played",debugLevel);
/ /PLAYED Temporal Manipulation end


Apply Effect

/ / ENTER APPLAY EFFECT Temporal Manipulation
int debugLevel=3;
D.addLog("6548: Apply effect Temporal Manipulation start",debugLevel);

effect.expireType = TemporaryEffect.EFFECT DURATION TILL TURN COUNT END;
/ / end of opponents turn
effect.counter=2;
effect.effectVisibleAsCard=false;
effect.effectVisibleAsCardOnTargetPlayer=true;
effect.effectReach=TemporaryEffect.EFFECT REACH TYPE TARGET PLAYER;

CardTrigger trigger = CardTrigger.createPlayerPhaseEnterTrigger(card, player, player);
match.addTrigger(trigger);

effect.trigger=trigger;
trigger.data1=0;

L.addLog(effect.targetPlayer+" Temporal Manipulation added.");
D.addLog("6548: Apply effect Temporal Manipulation end",debugLevel);

/ / End APPLAY EFFECT Temporal Manipulation


Exectute Trigger

/ /TRIGGER Temporal Manipulation start
int debugLevel=3;
D.addLog("6548: Enter card Trigger",debugLevel);
D.addLog("6548: "+trigger.targetPlayer+" is my turn: "+match.isMyTurn(trigger.targetPlayer),debugLevel);
int phase = match.getPhase();
D.addLog("6548: "+trigger.targetPlayer+" phase: "+phase,debugLevel);
if ( (phase = = match.PHASE BEGINNING UNTAP)& & (trigger.data1= =0) )
{
          if (!match.isMyTurn(player) )
          {
                    D.addLog("6548: Untap not player phase",debugLevel);
                    D.addLog("6548: Trigger data:"+trigger.data1,debugLevel);
                    if (trigger.data1= =0)
                    {
                              D.addLog("6548: Toggle initiated:",debugLevel);
                              match.togglePlayers();
                    }
                    trigger.data1++;
          }
}
if ( (match.PHASE BEGINNING UNTAP = = phase) && (trigger.data1= =1) )
{
          trigger.data1++;
}
D.addLog("6548: End card trigger",debugLevel);
/ /TRIGGER Temporal Manipulation end


Remove Effect

match.removeTrigger(effect.trigger);
L.addLog(effect.targetPlayer+" Temporal Manipulation removed.");