The effect should look like something similar to this:
function c[NUMBER].initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c[NUMBER].con)
e2:SetTarget(c[NUMBER].tg)
e2:SetOperation(c[NUMBER].op)
c:RegisterEffect(e2)
end
function c[NUMBER].con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c[NUMBER].filter,1,nil,tp) or eg:IsExists(c[NUMBER].filter,1,nil,nil,1-tp)
end
function c[NUMBER].filter(c,tp)
return c:IsPreviousLocation(LOCATION_GRAVE)
end
function c[NUMBER].tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c[NUMBER].op(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
Edited by user
2015-08-19T11:25:35Z
|
Reason: Not specified