function c100001184.initial_effect(c) c:EnableReviveLimit() --special summon local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetRange(LOCATION_EXTRA) e1:SetCondition(c100001184.spcon) e1:SetOperation(c100001184.spop) c:RegisterEffect(e1) --spsummon condition local e2=Effect.CreateEffect(c) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_SPSUMMON_CONDITION) c:RegisterEffect(e2) --spsummon local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetCode(EFFECT_CANNOT_DISABLE_SPSUMMON) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) c:RegisterEffect(e3) --win local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_DELAY) e4:SetCode(EVENT_SPSUMMON_SUCCESS) e4:SetOperation(c100001184.winop) c:RegisterEffect(e4) --immune local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_SINGLE) e5:SetCode(EFFECT_IMMUNE_EFFECT) e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e5:SetRange(LOCATION_EXTRA) e5:SetValue(c100001184.efilter) c:RegisterEffect(e5) end function c100001184.efilter(e,te) return te:GetOwner()~=e:GetOwner() end function c100001184.spfilter(c,code) local code1,code2=c:GetOriginalCodeRule() return code1==code or code2==code end function c100001184.spcon(e,c) if c==nil then return true end local tp=c:GetControler() return Duel.GetLocationCount(tp,LOCATION_MZONE)>-3 and Duel.CheckReleaseGroup(tp,c100001184.spfilter,1,nil,100001183) and Duel.CheckReleaseGroup(tp,c100001184.spfilter,1,nil,100001185) and Duel.CheckReleaseGroup(tp,c100001184.spfilter,1,nil,100001186) end function c100001184.spop(e,tp,eg,ep,ev,re,r,rp,c) local g1=Duel.SelectReleaseGroup(tp,c100001184.spfilter,1,1,nil,100001183) local g2=Duel.SelectReleaseGroup(tp,c100001184.spfilter,1,1,nil,100001185) local g3=Duel.SelectReleaseGroup(tp,c100001184.spfilter,1,1,nil,100001186) g1:Merge(g2) g1:Merge(g3) Duel.Release(g1,REASON_COST) end function c100001184.winop(e,tp,eg,ep,ev,re,r,rp) local WIN_REASON_CREATORGOD=0x13 local p=e:GetHandler():GetSummonPlayer() Duel.Win(p,WIN_REASON_CREATORGOD) end