This example is quite "involved".
In order for "Temporal Manipulation" to work as planned several steps are neccessary:
script "CardPlayed" calls setEffect()
script "ApplyEffect" sets up a trigger
script for a trigger "PlayerPhaseEnter" is called
if player entered the right phase, match is called to change the current phase
script "RemoveEffect" is called (after two rounds) automatically from match
script "RemoveEffect" removes the trigger
Done
/ /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
/ / 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
/ /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
match.removeTrigger(effect.trigger);
L.addLog(effect.targetPlayer+" Temporal Manipulation removed.");