Commit 9a0d1588 authored by Tachibana's avatar Tachibana

ndyd

parent de60a9bc
......@@ -76,47 +76,49 @@ end
function c33400033.fusfilter5(c)
return c:IsSetCard(0x3341)
end
function c33400033.spfilter1(c,fc,tp)
return c:IsSetCard(0x3341) and c:IsFusionType(TYPE_FUSION) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToRemoveAsCost()
function c33400033.spfilter1(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:IsSetCard(0x3341) and c:IsFusionType(TYPE_FUSION) and c:IsAbleToRemoveAsCost()
end
function c33400033.spfilter2(c,fc,tp)
return c:IsSetCard(0x3341) and c:IsFusionType(TYPE_SYNCHRO) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToRemoveAsCost()
function c33400033.spfilter2(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:IsSetCard(0x3341) and c:IsFusionType(TYPE_SYNCHRO) and c:IsAbleToRemoveAsCost()
end
function c33400033.spfilter3(c,fc,tp)
return c:IsSetCard(0x3341) and c:IsFusionType(TYPE_XYZ) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToRemoveAsCost()
function c33400033.spfilter3(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:IsSetCard(0x3341) and c:IsFusionType(TYPE_XYZ) and c:IsAbleToRemoveAsCost()
end
function c33400033.spfilter4(c,fc,tp)
return c:IsSetCard(0x3341) and c:IsFusionType(TYPE_LINK) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToRemoveAsCost()
function c33400033.spfilter4(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:IsSetCard(0x3341) and c:IsFusionType(TYPE_LINK) and c:IsAbleToRemoveAsCost()
end
function c33400033.spfilter5(c,fc,tp)
return c:IsSetCard(0x3341) and c:IsLevelBelow(4) and c:IsType(TYPE_EFFECT) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToRemoveAsCost()
function c33400033.spfilter5(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:IsSetCard(0x3341) and c:IsLevelBelow(4) and c:IsType(TYPE_EFFECT) and c:IsAbleToRemoveAsCost()
end
function c33400033.spcostfilter(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE)) and c:IsSetCard(0x3341)
and c:IsAbleToRemoveAsCost() and (c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK) or c:IsLevelBelow(4))
end
function c33400033.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
and Duel.IsExistingMatchingCard(c33400033.spfilter1,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil,c,fc,tp)
and Duel.IsExistingMatchingCard(c33400033.spfilter2,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil,c,fc,tp)
and Duel.IsExistingMatchingCard(c33400033.spfilter3,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil,c,fc,tp)
and Duel.IsExistingMatchingCard(c33400033.spfilter4,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil,c,fc,tp)
and Duel.IsExistingMatchingCard(c33400033.spfilter5,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil,c,fc,tp)
return (Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 or Duel.IsExistingMatchingCard(c33400033.spcostfilter,tp,LOCATION_MZONE,0,1,nil,c))
and Duel.IsExistingMatchingCard(c33400033.spfilter1,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c33400033.spfilter2,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c33400033.spfilter3,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c33400033.spfilter4,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c33400033.spfilter5,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil)
end
function c33400033.check(g)
return g:IsExists(c33400033.spfilter1,1,nil)
and g:IsExists(c33400033.spfilter2,1,nil)
and g:IsExists(c33400033.spfilter3,1,nil)
and g:IsExists(c33400033.spfilter4,1,nil)
and g:IsExists(c33400033.spfilter5,1,nil)
and Duel.GetLocationCountFromEx(tp,tp,g,c)>0
end
function c33400033.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400033,1))
local g1=Duel.SelectMatchingCard(tp,c33400033.spfilter1,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,1,nil,c,tp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400033,2))
local g2=Duel.SelectMatchingCard(tp,c33400033.spfilter2,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,1,nil,c,tp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400033,3))
local g3=Duel.SelectMatchingCard(tp,c33400033.spfilter3,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,1,nil,c,tp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400033,4))
local g4=Duel.SelectMatchingCard(tp,c33400033.spfilter4,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,1,nil,c,tp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33400033,5))
local g5=Duel.SelectMatchingCard(tp,c33400033.spfilter5,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,1,nil,c,tp)
g1:Merge(g2)
g1:Merge(g3)
g1:Merge(g4)
g1:Merge(g5)
c:SetMaterial(g1)
local g=Duel.GetMatchingGroup(c33400033.spcostfilter,tp,LOCATION_GRAVE+LOCATION_MZONE,0,nil)
if g:GetCount()<5 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=g:SelectSubGroup(tp,c33400033.check,false,5,5)
c:SetMaterial(nil)
Duel.Remove(g1,POS_FACEUP,REASON_EFFECT)
end
function c33400033.afilter(c)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment