[DotP2013] Help with Enter the Infinite

I tried to code Enter the Infinite, and my codes are:
- Code: Select all
<SPELL_ABILITY dangerous="1" filter_zone="ZONE_IN_PLAY">
<RESOLUTION_TIME_ACTION>
local count = EffectController():Library_Count()
for i=0,count-1 do
EffectController():DrawCard()
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<TRIGGERED_ABILITY auto_skip="1" active_zone="ZONE_ANY">
<TRIGGER value="DREW_CARD" simple_qualifier="controller">
return (TriggerPlayer() == EffectController() and TriggerPlayer():Library_Count() == 0)
</TRIGGER>
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:SetPlayer( EffectController() )
filter:SetZone( ZONE_HAND )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ONTO_LIBRARY", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if (target ~= nil) then
target:PutOnTopOfLibrary()
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="8">
Object():GetPlayer():GetCurrentCharacteristics():Bool_Set( PLAYER_CHARACTERISTIC_NO_HAND_LIMIT, 1 )
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
</TRIGGERED_ABILITY>