Commit 1b01e96f authored by Tachibana's avatar Tachibana

E

parent c42548bb
...@@ -29,12 +29,7 @@ end ...@@ -29,12 +29,7 @@ end
function c66915034.sumlimit(e,c,sump,sumtype,sumpos,targetp) function c66915034.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x1374) return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x1374)
end end
function c66915034.fcheck(tp,sg,fc)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_SZONE,0)
return sg:GetCount()>=3
and (not sg:IsExists(Card.IsLocation,1,nil,LOCATION_EXTRA)
or (sg:IsExists(c66915034.filterchk,1,nil) and sg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)<=ct))
end
function c66915034.filterchk(c) function c66915034.filterchk(c)
return c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsOnField() return c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsOnField()
end end
...@@ -48,15 +43,26 @@ function c66915034.filter2(c,e,tp,m,f,chkf) ...@@ -48,15 +43,26 @@ function c66915034.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x1374) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsSetCard(0x1374) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c66915034.fcheck(tp,sg,fc)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_SZONE,0)
return sg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)<=ct and (not sg:IsExists(Card.IsLocation,1,nil,LOCATION_EXTRA)
or (sg:IsExists(c66915034.filterchk,1,nil))) and sg:GetCount()>=3
end
function c66915034.gcheck(sg)
return sg:GetCount()>=3
end
function c66915034.target(e,tp,eg,ep,ev,re,r,rp,chk) function c66915034.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=tp local chkf=tp
local mg=Duel.GetFusionMaterial(tp) local mg=Duel.GetFusionMaterial(tp):Filter(Card.IsLocation,nil,LOCATION_MZONE)
local mg2=Duel.GetMatchingGroup(c66915034.filter0,tp,LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(c66915034.filter0,tp,LOCATION_EXTRA,0,nil)
mg:Merge(mg2) mg:Merge(mg2)
aux.FGoalCheckAdditional=c66915034.fcheck Auxiliary.FCheckAdditional=c66915034.fcheck
Auxiliary.GCheckAdditional=c66915034.gcheck
local res=Duel.IsExistingMatchingCard(c66915034.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg,nil,chkf) local res=Duel.IsExistingMatchingCard(c66915034.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg,nil,chkf)
aux.FGoalCheckAdditional=nil Auxiliary.FCheckAdditional=nil
Auxiliary.GCheckAdditional=nil
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
if ce~=nil then if ce~=nil then
...@@ -71,10 +77,11 @@ function c66915034.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -71,10 +77,11 @@ function c66915034.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c66915034.activate(e,tp,eg,ep,ev,re,r,rp) function c66915034.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c66915034.filter1,nil,e) local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsLocation,nil,LOCATION_MZONE):Filter(c66915034.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c66915034.filter0,tp,LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(c66915034.filter0,tp,LOCATION_EXTRA,0,nil)
mg1:Merge(mg2) mg1:Merge(mg2)
aux.FGoalCheckAdditional=c66915034.fcheck Auxiliary.FCheckAdditional=c66915034.fcheck
Auxiliary.GCheckAdditional=c66915034.gcheck
local sg1=Duel.GetMatchingGroup(c66915034.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(c66915034.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil local mg2=nil
local sg2=nil local sg2=nil
...@@ -104,7 +111,8 @@ function c66915034.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,7 +111,8 @@ function c66915034.activate(e,tp,eg,ep,ev,re,r,rp)
end end
tc:CompleteProcedure() tc:CompleteProcedure()
end end
aux.FGoalCheckAdditional=nil Auxiliary.FCheckAdditional=nil
Auxiliary.GCheckAdditional=nil
end end
function c66915034.sumlimit(e,c,sump,sumtype,sumpos,targetp) function c66915034.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x1374) return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x1374)
......
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