Commit f2dcde6c authored by nekrozar's avatar nekrozar
parent 35562e46
...@@ -295,16 +295,30 @@ function Auxiliary.AddSynchroProcedure(c,f1,f2,minc,maxc) ...@@ -295,16 +295,30 @@ function Auxiliary.AddSynchroProcedure(c,f1,f2,minc,maxc)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function Auxiliary.SynCondition(f1,f2,minc,maxc) function Auxiliary.SynCondition(f1,f2,minc,maxc)
return function(e,c,smat,mg) return function(e,c,smat,mg,min,max)
if c==nil then return true end if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
if smat and smat:IsType(TYPE_TUNER) and (not f1 or f1(smat)) then if smat and smat:IsType(TYPE_TUNER) and (not f1 or f1(smat)) then
return Duel.CheckTunerMaterial(c,smat,f1,f2,minc,maxc,mg) end return Duel.CheckTunerMaterial(c,smat,f1,f2,minc,maxc,mg) end
return Duel.CheckSynchroMaterial(c,f1,f2,minc,maxc,smat,mg) return Duel.CheckSynchroMaterial(c,f1,f2,minc,maxc,smat,mg)
end end
end end
function Auxiliary.SynTarget(f1,f2,minc,maxc) function Auxiliary.SynTarget(f1,f2,minc,maxc)
return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg) return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg,min,max)
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local g=nil local g=nil
if smat and smat:IsType(TYPE_TUNER) and (not f1 or f1(smat)) then if smat and smat:IsType(TYPE_TUNER) and (not f1 or f1(smat)) then
g=Duel.SelectTunerMaterial(c:GetControler(),c,smat,f1,f2,minc,maxc,mg) g=Duel.SelectTunerMaterial(c:GetControler(),c,smat,f1,f2,minc,maxc,mg)
...@@ -319,7 +333,7 @@ function Auxiliary.SynTarget(f1,f2,minc,maxc) ...@@ -319,7 +333,7 @@ function Auxiliary.SynTarget(f1,f2,minc,maxc)
end end
end end
function Auxiliary.SynOperation(f1,f2,minct,maxc) function Auxiliary.SynOperation(f1,f2,minct,maxc)
return function(e,tp,eg,ep,ev,re,r,rp,c,smat,mg) return function(e,tp,eg,ep,ev,re,r,rp,c,smat,mg,min,max)
local g=e:GetLabelObject() local g=e:GetLabelObject()
c:SetMaterial(g) c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO) Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
...@@ -363,9 +377,16 @@ function Auxiliary.GetSynMaterials(tp,syncard) ...@@ -363,9 +377,16 @@ function Auxiliary.GetSynMaterials(tp,syncard)
return mg return mg
end end
function Auxiliary.SynMixCondition(f1,f2,f3,f4,minc,maxc,gc) function Auxiliary.SynMixCondition(f1,f2,f3,f4,minc,maxc,gc)
return function(e,c,smat,mg1) return function(e,c,smat,mg1,min,max)
if c==nil then return true end if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local tp=c:GetControler() local tp=c:GetControler()
local mg local mg
if mg1 then if mg1 then
...@@ -378,7 +399,14 @@ function Auxiliary.SynMixCondition(f1,f2,f3,f4,minc,maxc,gc) ...@@ -378,7 +399,14 @@ function Auxiliary.SynMixCondition(f1,f2,f3,f4,minc,maxc,gc)
end end
end end
function Auxiliary.SynMixTarget(f1,f2,f3,f4,minc,maxc,gc) function Auxiliary.SynMixTarget(f1,f2,f3,f4,minc,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg1) return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg1,min,max)
local minc=minc
local maxc=maxc
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
local g=Group.CreateGroup() local g=Group.CreateGroup()
local mg local mg
if mg1 then if mg1 then
...@@ -428,7 +456,7 @@ function Auxiliary.SynMixTarget(f1,f2,f3,f4,minc,maxc,gc) ...@@ -428,7 +456,7 @@ function Auxiliary.SynMixTarget(f1,f2,f3,f4,minc,maxc,gc)
end end
end end
function Auxiliary.SynMixOperation(f1,f2,f3,f4,minct,maxc,gc) function Auxiliary.SynMixOperation(f1,f2,f3,f4,minct,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,c,smat,mg) return function(e,tp,eg,ep,ev,re,r,rp,c,smat,mg,min,max)
local g=e:GetLabelObject() local g=e:GetLabelObject()
c:SetMaterial(g) c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO) Duel.SendtoGrave(g,REASON_MATERIAL+REASON_SYNCHRO)
......
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