Hi Kaidoxe,
I tried making your card's effect, but I haven't tested it yet. See if this works:
--Horakhty, the Creator God of Light
function cXXXXXXXX.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCode3(c,10000020,10000000,10000010,true,true)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(cXXXXXXXX.sprcon)
e2:SetOperation(cXXXXXXXX.sprop)
c:RegisterEffect(e2)
end
function cXXXXXXXX.sprfilter(c,code)
return c:IsCode(code) and c:IsAbleToGraveAsCost()
end
function cXXXXXXXX.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-3
and Duel.IsExistingMatchingCard(cXXXXXXXX.sprfilter,tp,LOCATION_ONFIELD,0,1,nil,10000020)
and Duel.IsExistingMatchingCard(cXXXXXXXX.sprfilter,tp,LOCATION_ONFIELD,0,1,nil,10000000)
and Duel.IsExistingMatchingCard(cXXXXXXXX.sprfilter,tp,LOCATION_ONFIELD,0,1,nil,10000010)
end
function cXXXXXXXX.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,cXXXXXXXX.sprfilter,tp,LOCATION_ONFIELD,0,1,1,nil,10000020)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,cXXXXXXXX.sprfilter,tp,LOCATION_ONFIELD,0,1,1,nil,10000000)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g3=Duel.SelectMatchingCard(tp,cXXXXXXXX.sprfilter,tp,LOCATION_ONFIELD,0,1,1,nil,10000010)
g1:Merge(g2)
g1:Merge(g3)
Duel.SendtoGrave(g1,REASON_COST)
local WIN_REASON_CREATORGOD = 0x13
Duel.Win(tp,WIN_REASON_CREATORGOD)
end
Be sure to replace the "XXXXXXXX" with your card's ID number.