Trying to code Day's Undoing for DOTP 2014
Posted: 25 Jul 2015, 16:25
I've been trying to approximate Day's Undoing for DOTP 2014, but it isn't working as expected. I have one of Xander's Favor of the Gods cards in play when I cast it, so that may be the problem; but the Triggered Abilities I put in that are supposed to render cards unplayable and to exile things on the stack don't seem to be working. Here is the code I have now. Is it possible to approximate this card in DOTP 2014? If so, how should I change my code to go about doing this? Any and all feedback would be greatly appreciated.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="DAYS_UNDOING_CW_398652" />
<CARDNAME text="DAYS_UNDOING" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Day’s Undoing]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Anéantissement du jour]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Jornada revocada]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Vereiteltes Tagewerk]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Annullare il Giorno]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[一日のやり直し]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[하루 전으로]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Закат Дня]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Desfazer do Dia]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="398652" />
<ARTID value="CW398652" />
<ARTIST name="Jonas De Ro" />
<CASTING_COST cost="{2}{U}" />
<TYPE metaname="Sorcery" />
<EXPANSION value="ORI" />
<RARITY metaname="M" />
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Each player shuffles his or her hand and graveyard into his or her library, then draws seven cards. If it’s your turn, end the turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Chaque joueur mélange sa main et son cimetière avec sa bibliothèque et pioche ensuite sept cartes. Si c’est votre tour, terminez le tour.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cada jugador baraja su mano y su cementerio en su biblioteca, luego roba siete cartas. Si es tu turno, finaliza el turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Jeder Spieler mischt die Karten auf seiner Hand und in seinem Friedhof in seine Bibliothek und zieht dann sieben Karten. Falls es dein Zug ist, beende den Zug.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogni giocatore rimescola la propria mano e il proprio cimitero nel proprio grimorio, poi pesca sette carte. Se è il tuo turno, termina il turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[各プレイヤーはそれぞれ、自分の手札と墓地を自分のライブラリーに加えて切り直し、その後カードを7枚引く。あなたのターンであるなら、ターンを終了する。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[각 플레이어는 자신의 손과 무덤을 서고에 섞어 넣은 후 카드 일곱 장을 뽑는다. 당신 턴이라면 턴을 끝낸다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый игрок втасовывает свои руку и кладбище в свою библиотеку, затем берет семь карт. Если идет ваш ход, закончите ход.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Cada jogador embaralha a própria mão e cemitério no próprio grimório e depois compra sete cards. Se for o seu turno, termine o turno.]]></LOCALISED_TEXT>
<RESOLUTION_TIME_ACTION>
local number = MTG():GetNumberOfPlayers()
if number ~= nil then
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
player:MoveLocalZone( ZONE_HAND, ZONE_LIBRARY )
player:MoveLocalZone( ZONE_GRAVEYARD, ZONE_LIBRARY )
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local number = MTG():GetNumberOfPlayers()
if number ~= nil then
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
player:ShuffleLibrary()
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local number = MTG():GetNumberOfPlayers()
if number ~= nil then
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
player:DrawCards( 7 )
end
end
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" priority="99">
<TRIGGER value="SPELL_RESOLVED" simple_qualifier="self">
if TriggerObject():GetPlayer() == EffectController() and TriggerObject():GetPlayer():MyTurn() == true then
return true
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetZone(ZONE_STACK)
filter:SetStackObjectType(STACK_OBJECT_CARD)
filter:SetStackObjectType(STACK_OBJECT_ABILITY)
if Object() ~= nil then
Object():Exile()
end
</RESOLUTION_TIME_ACTION>
<FILTER filter_id="6">
local number = MTG():GetNumberOfPlayers()
if number ~= nil then
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
local filter = ClearFilter()
filter:Add( FE_OWNER, OP_IS, player )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
filter:SetZone( ZONE_ANYWHERE )
end
end
end
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="6">
local number = MTG():GetNumberOfPlayers()
if number ~= nil then
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if FilteredCard() ~= nil and player ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_CANT_BE_PLAYED, 1 )
characteristics:Bool_Set( CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES, 1)
end
end
end
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="6">
local number = MTG():GetNumberOfPlayers()
if number ~= nil then
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
player:GetCurrentCharacteristics():Bool_Set( PLAYER_CHARACTERISTIC_CANT_CAST_SPELLS, 1)
player:GetCurrentCharacteristics():Bool_Set( PLAYER_CHARACTERISTIC_CANT_ACTIVATE_ARTIFACT_CREATURE_ENCHANTMENT_ABILITIES, 1)
end
end
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" priority="99">
<CLEANUP fire_once="1" />
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" pre_trigger="1">
return MTG():GetPhase() == PHASE_COMBAT and TriggerPlayer() == EffectController() and TriggerPlayer():MyTurn() == true
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if TriggerPlayer() ~= nil then
MTG():SkipPhase()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" priority="99">
<CLEANUP simple_cleanup="EndOfTurn" />
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" pre_trigger="1">
return TriggerPlayer() == EffectController() and TriggerPlayer():MyTurn() == true and ( MTG():GetPhase() == PHASE_MAIN_1 or MTG():GetPhase() == PHASE_MAIN_2 )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
MTG():SkipPhase()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" priority="99">
<CLEANUP simple_cleanup="EndOfTurn" />
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" pre_trigger="1">
return TriggerPlayer() == EffectController() and TriggerPlayer():MyTurn() == true and ( MTG():GetStep() == STEP_END_OF_TURN )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
MTG():SkipStep()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<AI_BASE_SCORE score="1200" zone="ZONE_HAND" />
<AUTHOR><![CDATA[fallenangle]]></AUTHOR>
<EDITORS><![CDATA[fallenangle]]></EDITORS>
<DATE><![CDATA[24-07-15]]></DATE>
</CARD_V2>