--iZA - Lucidiapprentice local s,id=GetID() function s.initial_effect(c) --spsummon local e1=Effect.CreateEffect(c) e1:Desc(0) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetRange(LOCATION_HAND) e1:SetCondition(s.spcon) c:RegisterEffect(e1) --gain effect local e1=Effect.CreateEffect(c) e1:Desc(1) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetTarget(s.eftg) e1:SetOperation(s.efop) c:RegisterEffect(e1) end function s.filter(c) return c:IsFaceup() and c:IsSetCard(ARCHE_UTOPIA) end function s.spcon(e,c) if c==nil then return true end local tp=c:GetControler() return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) end function s.dtfilter(c,tp) return c:IsFaceup() and c:IsMonster(TYPE_XYZ) and c:IsSetCard(ARCHE_UTOPIA) and c:CheckRemoveOverlayCard(tp,2,REASON_EFFECT) end function s.eftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and s.dtfilter(chkc,tp) end if chk==0 then return not e:GetHandler():IsHasEffect(id) and Duel.IsExistingTarget(s.dtfilter,tp,LOCATION_MZONE,0,1,nil,tp) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.SelectTarget(tp,s.dtfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) end function s.efop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=Duel.GetFirstTarget() if not tc:IsRelateToChain() or tc:GetOverlayCount()<2 then return end if tc:RemoveOverlayCard(tp,2,2,REASON_EFFECT) and c:IsRelateToChain() and c:IsFaceup() then local e1=Effect.CreateEffect(c) e1:Desc(2) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CLIENT_HINT) e1:SetCode(id) e1:SetValue(3) e1:SetReset(RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_END) c:RegisterEffect(e1) end end