Commit 95a0cca0 authored by VanillaSalt's avatar VanillaSalt

fix

parent 9ada8a16
...@@ -23,7 +23,7 @@ function c15717011.subcon(e) ...@@ -23,7 +23,7 @@ function c15717011.subcon(e)
end end
function c15717011.filter(c,e,tp,m,gc) function c15717011.filter(c,e,tp,m,gc)
return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_LIGHT) return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_LIGHT)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:CheckFusionMaterial(m,gc) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:CheckFusionMaterial(m,gc,PLAYER_NONE+0x100)
end end
function c15717011.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c15717011.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1) e:SetLabel(1)
...@@ -41,7 +41,7 @@ function c15717011.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -41,7 +41,7 @@ function c15717011.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c15717011.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,mg,c) local g=Duel.SelectMatchingCard(tp,c15717011.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,mg,c)
local mat=Duel.SelectFusionMaterial(tp,g:GetFirst(),mg,c) local mat=Duel.SelectFusionMaterial(tp,g:GetFirst(),mg,c,PLAYER_NONE+0x100)
Duel.Release(mat,REASON_COST) Duel.Release(mat,REASON_COST)
e:SetLabelObject(g:GetFirst()) e:SetLabelObject(g:GetFirst())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -23,7 +23,7 @@ function c52101615.subcon(e) ...@@ -23,7 +23,7 @@ function c52101615.subcon(e)
end end
function c52101615.filter(c,e,tp,m,gc) function c52101615.filter(c,e,tp,m,gc)
return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_DARK) return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_DARK)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:CheckFusionMaterial(m,gc) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:CheckFusionMaterial(m,gc,PLAYER_NONE+0x100)
end end
function c52101615.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c52101615.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1) e:SetLabel(1)
...@@ -40,7 +40,7 @@ function c52101615.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -40,7 +40,7 @@ function c52101615.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c52101615.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,mg,c) local g=Duel.SelectMatchingCard(tp,c52101615.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,mg,c)
local mat=Duel.SelectFusionMaterial(tp,g:GetFirst(),mg,c) local mat=Duel.SelectFusionMaterial(tp,g:GetFirst(),mg,c,PLAYER_NONE+0x100)
Duel.Release(mat,REASON_COST) Duel.Release(mat,REASON_COST)
e:SetLabel(g:GetFirst():GetCode()) e:SetLabel(g:GetFirst():GetCode())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -23,7 +23,7 @@ function c88696724.subcon(e) ...@@ -23,7 +23,7 @@ function c88696724.subcon(e)
end end
function c88696724.filter(c,e,tp,m,gc) function c88696724.filter(c,e,tp,m,gc)
return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_EARTH) return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_EARTH)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:CheckFusionMaterial(m,gc) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:CheckFusionMaterial(m,gc,PLAYER_NONE+0x100)
end end
function c88696724.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c88696724.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1) e:SetLabel(1)
...@@ -40,7 +40,7 @@ function c88696724.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -40,7 +40,7 @@ function c88696724.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(Card.IsCanBeFusionMaterial,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c88696724.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,mg,c) local g=Duel.SelectMatchingCard(tp,c88696724.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,mg,c)
local mat=Duel.SelectFusionMaterial(tp,g:GetFirst(),mg,c) local mat=Duel.SelectFusionMaterial(tp,g:GetFirst(),mg,c,PLAYER_NONE+0x100)
Duel.Release(mat,REASON_COST) Duel.Release(mat,REASON_COST)
e:SetLabel(g:GetFirst():GetCode()) e:SetLabel(g:GetFirst():GetCode())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
...@@ -407,17 +407,20 @@ function Auxiliary.FConditionFilter12(c,code,sub) ...@@ -407,17 +407,20 @@ function Auxiliary.FConditionFilter12(c,code,sub)
return c:IsFusionCode(code) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE)) return c:IsFusionCode(code) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))
end end
function Auxiliary.FConditionFilter21(c,code1,code2) function Auxiliary.FConditionFilter21(c,code1,code2)
return c:IsFusionCode(code1) or c:IsFusionCode(code2) return c:IsFusionCode(code1,code2)
end end
function Auxiliary.FConditionFilter22(c,code1,code2,sub) function Auxiliary.FConditionFilter22(c,code1,code2,sub)
return c:IsFusionCode(code1) or c:IsFusionCode(code2) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE)) return c:IsFusionCode(code1,code2) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))
end end
function Auxiliary.FConditionCode2(code1,code2,sub,insf) function Auxiliary.FConditionCode2(code1,code2,sub,insf)
--g:Material group(nil for Instant Fusion) --g:Material group(nil for Instant Fusion)
--gc:Material already used --gc:Material already used
--chkf: check field, default:PLAYER_NONE --chkf: check field, default:PLAYER_NONE
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local mg=g:Filter(Card.IsCanBeFusionMaterial,gc,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,gc,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -458,7 +461,10 @@ function Auxiliary.FConditionCode2(code1,code2,sub,insf) ...@@ -458,7 +461,10 @@ function Auxiliary.FConditionCode2(code1,code2,sub,insf)
end end
end end
function Auxiliary.FOperationCode2(code1,code2,sub,insf) function Auxiliary.FOperationCode2(code1,code2,sub,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local g=eg:Filter(Card.IsCanBeFusionMaterial,gc,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,gc,e:GetHandler())
local tc=gc local tc=gc
local g1=nil local g1=nil
...@@ -510,14 +516,17 @@ function Auxiliary.AddFusionProcCode3(c,code1,code2,code3,sub,insf) ...@@ -510,14 +516,17 @@ function Auxiliary.AddFusionProcCode3(c,code1,code2,code3,sub,insf)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function Auxiliary.FConditionFilter31(c,code1,code2,code3) function Auxiliary.FConditionFilter31(c,code1,code2,code3)
return c:IsFusionCode(code1) or c:IsFusionCode(code2) or c:IsFusionCode(code3) return c:IsFusionCode(code1,code2,code3)
end end
function Auxiliary.FConditionFilter32(c,code1,code2,code3,sub) function Auxiliary.FConditionFilter32(c,code1,code2,code3,sub)
return c:IsFusionCode(code1) or c:IsFusionCode(code2) or c:IsFusionCode(code3) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE)) return c:IsFusionCode(code1,code2,code3) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))
end end
function Auxiliary.FConditionCode3(code1,code2,code3,sub,insf) function Auxiliary.FConditionCode3(code1,code2,code3,sub,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -556,7 +565,10 @@ function Auxiliary.FConditionCode3(code1,code2,code3,sub,insf) ...@@ -556,7 +565,10 @@ function Auxiliary.FConditionCode3(code1,code2,code3,sub,insf)
end end
end end
function Auxiliary.FOperationCode3(code1,code2,code3,sub,insf) function Auxiliary.FOperationCode3(code1,code2,code3,sub,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
local sg=g:Filter(Auxiliary.FConditionFilter31,gc,code1,code2,code3) local sg=g:Filter(Auxiliary.FConditionFilter31,gc,code1,code2,code3)
...@@ -609,14 +621,17 @@ function Auxiliary.AddFusionProcCode4(c,code1,code2,code3,code4,sub,insf) ...@@ -609,14 +621,17 @@ function Auxiliary.AddFusionProcCode4(c,code1,code2,code3,code4,sub,insf)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function Auxiliary.FConditionFilter41(c,code1,code2,code3,code4) function Auxiliary.FConditionFilter41(c,code1,code2,code3,code4)
return c:IsFusionCode(code1) or c:IsFusionCode(code2) or c:IsFusionCode(code3) or c:IsFusionCode(code4) return c:IsFusionCode(code1,code2,code3,code4)
end end
function Auxiliary.FConditionFilter42(c,code1,code2,code3,code4,sub) function Auxiliary.FConditionFilter42(c,code1,code2,code3,code4,sub)
return c:IsFusionCode(code1) or c:IsFusionCode(code2) or c:IsFusionCode(code3) or c:IsFusionCode(code4) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE)) return c:IsFusionCode(code1,code2,code3,code4) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))
end end
function Auxiliary.FConditionCode4(code1,code2,code3,code4,sub,insf) function Auxiliary.FConditionCode4(code1,code2,code3,code4,sub,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -658,7 +673,10 @@ function Auxiliary.FConditionCode4(code1,code2,code3,code4,sub,insf) ...@@ -658,7 +673,10 @@ function Auxiliary.FConditionCode4(code1,code2,code3,code4,sub,insf)
end end
end end
function Auxiliary.FOperationCode4(code1,code2,code3,code4,sub,insf) function Auxiliary.FOperationCode4(code1,code2,code3,code4,sub,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
local sg=g:Filter(Auxiliary.FConditionFilter41,gc,code1,code2,code3,code4) local sg=g:Filter(Auxiliary.FConditionFilter41,gc,code1,code2,code3,code4)
...@@ -724,8 +742,11 @@ function Auxiliary.FConditionFilterCF(c,g2,cc) ...@@ -724,8 +742,11 @@ function Auxiliary.FConditionFilterCF(c,g2,cc)
return g2:IsExists(aux.TRUE,cc,c) return g2:IsExists(aux.TRUE,cc,c)
end end
function Auxiliary.FConditionCodeFun(code,f,cc,sub,insf) function Auxiliary.FConditionCodeFun(code,f,cc,sub,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -769,7 +790,10 @@ function Auxiliary.FConditionCodeFun(code,f,cc,sub,insf) ...@@ -769,7 +790,10 @@ function Auxiliary.FConditionCodeFun(code,f,cc,sub,insf)
end end
end end
function Auxiliary.FOperationCodeFun(code,f,cc,sub,insf) function Auxiliary.FOperationCodeFun(code,f,cc,sub,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if (gc:IsFusionCode(code) or (sub and gc:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))) and g:IsExists(f,cc,gc) then if (gc:IsFusionCode(code) or (sub and gc:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))) and g:IsExists(f,cc,gc) then
...@@ -868,8 +892,9 @@ function Auxiliary.FConditionFilterF2r(c,f1,f2) ...@@ -868,8 +892,9 @@ function Auxiliary.FConditionFilterF2r(c,f1,f2)
return f1(c) and not f2(c) return f1(c) and not f2(c)
end end
function Auxiliary.FConditionFun2(f1,f2,insf) function Auxiliary.FConditionFun2(f1,f2,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -888,7 +913,8 @@ function Auxiliary.FConditionFun2(f1,f2,insf) ...@@ -888,7 +913,8 @@ function Auxiliary.FConditionFun2(f1,f2,insf)
end end
end end
function Auxiliary.FOperationFun2(f1,f2,insf) function Auxiliary.FOperationFun2(f1,f2,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
...@@ -937,8 +963,11 @@ function Auxiliary.FConditionFilterCR(c,code,sub) ...@@ -937,8 +963,11 @@ function Auxiliary.FConditionFilterCR(c,code,sub)
return c:IsFusionCode(code) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE)) return c:IsFusionCode(code) or (sub and c:IsHasEffect(EFFECT_FUSION_SUBSTITUTE))
end end
function Auxiliary.FConditionCodeRep(code,cc,sub,insf) function Auxiliary.FConditionCodeRep(code,cc,sub,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -956,7 +985,10 @@ function Auxiliary.FConditionCodeRep(code,cc,sub,insf) ...@@ -956,7 +985,10 @@ function Auxiliary.FConditionCodeRep(code,cc,sub,insf)
end end
end end
function Auxiliary.FOperationCodeRep(code,cc,sub,insf) function Auxiliary.FOperationCodeRep(code,cc,sub,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local notfusion=bit.rshift(chkfnf,8)~=0
local sub=sub or notfusion
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL)
...@@ -992,8 +1024,9 @@ function Auxiliary.AddFusionProcFunRep(c,f,cc,insf) ...@@ -992,8 +1024,9 @@ function Auxiliary.AddFusionProcFunRep(c,f,cc,insf)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function Auxiliary.FConditionFunRep(f,cc,insf) function Auxiliary.FConditionFunRep(f,cc,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -1005,7 +1038,8 @@ function Auxiliary.FConditionFunRep(f,cc,insf) ...@@ -1005,7 +1038,8 @@ function Auxiliary.FConditionFunRep(f,cc,insf)
end end
end end
function Auxiliary.FOperationFunRep(f,cc,insf) function Auxiliary.FOperationFunRep(f,cc,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FMATERIAL)
...@@ -1050,8 +1084,9 @@ function Auxiliary.FConditionFilterFFR(c,f1,f2,mg,minc,chkf) ...@@ -1050,8 +1084,9 @@ function Auxiliary.FConditionFilterFFR(c,f1,f2,mg,minc,chkf)
end end
end end
function Auxiliary.FConditionFunFunRep(f1,f2,minc,maxc,insf) function Auxiliary.FConditionFunFunRep(f1,f2,minc,maxc,insf)
return function(e,g,gc,chkf) return function(e,g,gc,chkfnf)
if g==nil then return insf end if g==nil then return insf end
local chkf=bit.band(chkfnf,0xff)
local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local mg=g:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
if gc then if gc then
if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end if not gc:IsCanBeFusionMaterial(e:GetHandler()) then return false end
...@@ -1067,7 +1102,8 @@ function Auxiliary.FConditionFunFunRep(f1,f2,minc,maxc,insf) ...@@ -1067,7 +1102,8 @@ function Auxiliary.FConditionFunFunRep(f1,f2,minc,maxc,insf)
end end
end end
function Auxiliary.FOperationFunFunRep(f1,f2,minc,maxc,insf) function Auxiliary.FOperationFunFunRep(f1,f2,minc,maxc,insf)
return function(e,tp,eg,ep,ev,re,r,rp,gc,chkf) return function(e,tp,eg,ep,ev,re,r,rp,gc,chkfnf)
local chkf=bit.band(chkfnf,0xff)
local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler()) local g=eg:Filter(Card.IsCanBeFusionMaterial,nil,e:GetHandler())
local minct=minc local minct=minc
local maxct=maxc local maxct=maxc
......
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